[Development report #39] Audio Stack Improvements

From: Christos Margiolis <christos_at_freebsd.org>
Date: Tue, 27 May 2025 13:36:36 UTC
snd_hda: Implement automatic redirection between associations:
https://reviews.freebsd.org/D50070

	- Run redirection code only if we are already using the current
	  codec, otherwise we'll be switching automatically to the
	  headphones even when using a different device (e.g., USB).
	- Rename "HDA" devd system to "SND" to make it more general.
	- Rename "REDIR" devd subsystem to "CONN", according to mav@'s
	  suggestion.
	- Address disagreement with mav@.

snd_hda: Fix cleanup regression in hdac_detach():
https://reviews.freebsd.org/D50378

	- Abandoned. Mistake on my part (didn't rebase properly).

snd_hda: Add shutdown method

	- MFC'd to stable/14 and releng/14.3.
	- https://cgit.freebsd.org/src/commit/?h=stable/14&id=77521692f4c71213c5419268657e696532c28325
	- https://cgit.freebsd.org/src/commit/?h=releng/14.3&id=adf77cb48e4c265f366fb0f290b597fdd0dfdc68

snd_hda: Fix a sporadic panic during kldunload:
https://reviews.freebsd.org/D50393

	- Further review and discussion.

PR 222636:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222636

sndctl(8): Remove unnecessary val variable from sysctl functions:
https://cgit.freebsd.org/src/commit/?id=ac86e65e0e25a3e3fd6f91b17d2db874cea83c3b

sndctl(8): Allow read-only sysctls:
https://cgit.freebsd.org/src/commit/?id=52c4263274031d599aebfaed2862ae85b482953a

sndctl(8): Fix dp->realtime:
https://cgit.freebsd.org/src/commit/?id=30fd79b0c0a328536b166e7fa9170b059e711303

virtual_oss: Exit main looop cleanly on termination:
https://reviews.freebsd.org/D50492

virtual_oss: Clean up cuse on exit:
https://reviews.freebsd.org/D50493

virtual_oss: Clean up pthread on exit:
https://reviews.freebsd.org/D50494

virtual_oss: Clean up audio delay unit on exit:
https://reviews.freebsd.org/D50495

snd_dummy: Make callout stopping more robust:
https://reviews.freebsd.org/D50386

	- Discussion with markj@ and adrian@.

sound: Terminate stream properly when closing vchans:
https://reviews.freebsd.org/D50488

Bug triaging.

Attended src bug busting call.

Technical support emails with various users.

libdtrace: Implement inline function tracing for kinst:
https://reviews.freebsd.org/D38825

	- Further discussion.

Christos

This work is sponsored by the FreeBSD Foundation.