[alsa-devel] ALSA SoC + Hotplug ?
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Mon Jun 5 02:11:16 CEST 2017
Hi
Sorry for my late response, I was in OSS Japan.
> > We looked at it a couple of days ago and were indeed surprised that
> > only Intel drivers seem to use snd_jack_report() [1]. It'd be good if
> > there was a common way of signaling hot plug events to user space...
> >
> > [1] http://elixir.free-electrons.com/linux/latest/ident/SND_JACK_AVOUT
>
> AFAIK, most of ASoC jacks are triggered implicitly in soc-jack.c via
> gpiolib or such. But the HDMI stuff seems to be the lost child.
>
>
> About the original question from Morimoto-san: the answer is
> "depends".
>
> If you want a card-level hotplug, it's just the normal the device
> probe / remove.
>
> If you want ASoC component-level hotplug, it's unimplemented, AFAIK.
>
> If you want the dynamic PCM device creation / removal, it should be
> doable, but it'd be tricky.
>
> Currently, HD-audio (and HDMI LPE audio) don't do the hotplug-style
> device management. Instead, it creates the PCM streams statically
> while it notifies to user-space via kctl / input jack about the
> monitor connection state. It's basically for PulseAudio which expects
> the static stream assignment per card.
>
> Note that the monitor connection state may change rapidly, as the
> audio is also gone when the video is blanked or the modeset changed;
> thus creating/deleting the device at each time might whip udev and
> others too much. It's one of the reasons we didn't go to that
> direction.
>
> But, I'm not entirely convinced that the current implementation is the
> always best.
Thank you for your feedback.
I understand that ALSA (SoC) doesn't have formal Hotplug support yet.
I and V4L2 guy had talked about this topics in this OSS Japan and previous ELC{E}.
Our missing feature for HDMI sound now is maybe...
1) Hotplug
We need to collaborate to V4L2 guys ? and user side application guys ?
During plug-out, can we keep playback ?? or stop it ??
V4L2/ALSA should use same way, but who control it ? application ?
2) V4L2/ALSA connection
Before, application guy said that "it is difficult to find
which HDMI video and sound are connected", for example
video0 and sound1 were same HDMI, etc.
It seems "media controller" which is used in V4L2 side can help it ?
I think we want to ALSA SoC framework cleanup first...
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list