Re: git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations
- Reply: Guido Falsi : "Re: git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations"
- In reply to: Christos Margiolis : "git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Sep 2025 19:22:26 UTC
On 9/30/25 12:52, Christos Margiolis wrote:
> The branch main has been updated by christos:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=2ffaca551eaf32c17f701762ecf29a961cf19aa4
>
> commit 2ffaca551eaf32c17f701762ecf29a961cf19aa4
> Author: Christos Margiolis <christos@FreeBSD.org>
> AuthorDate: 2025-09-30 10:52:44 +0000
> Commit: Christos Margiolis <christos@FreeBSD.org>
> CommitDate: 2025-09-30 10:52:44 +0000
>
> snd_hda: Implement automatic redirection between associations
>
> For audio to be redirected to the headphones/headset after plugging the
> jack, or back to the speaker/internal mic when unplugging it, the
> speaker and headphone pins need to be part of the same association
> (i.e., the same PCM device). This patch makes it possible to redirect
> audio even between different associations, which can reduce the need for
> manual pin patching.
>
> The idea is that we issue a devctl_notify() from within the jack
> detection callback whenever a jack is (un-)plugged to redirect audio to
> the appropriate device. Then the snd.conf devd script is responsible for
> using virtual_oss to change the playback/recording device to whatever
> snd_hda(4) selected. The reason for requiring virtual_oss is that it has
> hot-swapping support, which is necessary for jack redirection.
>
> Sponsored by: The FreeBSD Foundation
> MFC after: 2 days
> Differential Revision: https://reviews.freebsd.org/D50070
> ---
> sbin/devd/Makefile | 5 +++++
> sbin/devd/devd.conf.5 | 16 +++++++++++++
> sbin/devd/snd.conf | 23 +++++++++++++++++++
> sys/dev/sound/pci/hda/hdaa.c | 53 +++++++++++++++++++++++++++++++++-----------
> 4 files changed, 84 insertions(+), 13 deletions(-)
>
> diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile
> index 5d5721d16884..f65eee93dd4b 100644
> --- a/sbin/devd/Makefile
> +++ b/sbin/devd/Makefile
> @@ -51,6 +51,11 @@ NVMEDIR= ${DEVDDIR}
> NVME+= nvmf.conf
> NVMEPACKAGE= nvme-tools
>
> +CONFGROUPS+= SND
> +SNDDIR= ${DEVDDIR}
> +SND+= snd.conf
> +SNDPACKAGE= snd
Looks like this is causing the package building step of the build to
look for a src/release/packages/ucl/snd-all.ucl file.
Is it intentional to cause this to produce a new base package?
Looks like in this case an ucl file for the description is needed?
--
Guido Falsi <mad@madpilot.net>