[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