[Development report #9] Audio Stack Improvements

From: Christos Margiolis <christos_at_freebsd.org>
Date: Tue, 02 Apr 2024 14:14:39 UTC
Committed DEVFS_CDEVPRIV(9) patch:
- https://cgit.freebsd.org/src/commit/?id=dc831e93bad63f9faea09f1806a7733a40bff316
- Updated the SNDCTL_AUDIOINFO ioctl to write /dev/dspX instead of
  /dev/dspX.Y to ai->devnode.
- Closed https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246208 as
  accessing specific channels through device nodes is no longer
  possible.

Committed asynchronous audio device detach patch:
- https://cgit.freebsd.org/src/commit/?id=9eff58c6d52b66eb8abe7f724dabcd804a566df4
- Fixed a kern_poll() panic caught after applying the patch and
  hot-unplugging the audio device while jackd is running:
  https://cgit.freebsd.org/src/commit/?id=fba54d0179aabb3d94211ca80f94fe5b98ac6d3b
- Will send call-for-testing and mail annoyed people once a snapshot
  build with the patch included is built.
- Debugging an LOR reported in D44411, although it’s not related to the
  patch.

Updates to /dev/sndstat:
- https://cgit.freebsd.org/src/commit/?id=6d1cee1640e1c360917e483ece5ec1bde423b788
- https://reviews.freebsd.org/D44571
- https://reviews.freebsd.org/D44546 (Abandoned since it will break
  backwards compatibility and this functionality will be built into a
  new userland tool anyway.)

Implementing missing OSSv4 ioctls:
- https://reviews.freebsd.org/D44570

Minor patches:
- https://cgit.freebsd.org/src/commit/?id=c136e6180e4762c1180d89cd2291fd9a935a721d
- https://cgit.freebsd.org/src/commit/?id=b5e55dbf357472ffa39345b30b8b781e988a440f
- https://cgit.freebsd.org/src/commit/?id=d46a6a77e8e14177d07e3a53f68b428e5d1cb416

Submitted a 2024Q1 report:
https://cgit.freebsd.org/doc/commit/?id=df8f360e93a2fa210dc3a0a7aa4dae6e855a8076

This work is sponsored by the FreeBSD Foundation.

Christos