Re: [RFC PATCH] ASoC: codec: hdac_hdmi: no checking monitor in hw_params

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 06 May 2019 17:37:32 +0200,
Pierre-Louis Bossart wrote:
> 
> On 5/6/19 1:59 AM, libin.yang@xxxxxxxxx wrote:
> > From: Libin Yang <libin.yang@xxxxxxxxx>
> >
> > This patch move the check of monitor from hw_params to trigger callback.
> >
> > The original code will check the monitor presence in hw_params. If the
> > monitor doesn't exist, hw_params will return -ENODEV. Mostly this is OK.
> >
> > However, pulseaudio will check the pcm devices when kernel is booting up.
> > It will try to open, set hw_params, prepare such pcm devices. We can't
> > guarantee that the monitor will be connected when kernel is booting up.
> > Especially, hdac_hdmi will export 3 pcms at most. It's hard to say users
> > will connect 3 monitors to the HDMI/DP ports. This will cause pulseaudio
> > fail in parsing the pcm devices because the driver will return -ENODEV in
> > hw_params.
> >
> > This patch tries to move the check of monitor presence into trigger
> > callback. This can "trick" the pulseaudio the pcm is ready.
> >
> > This bug is found when we try to enable HDMI detection in
> > gnome-sound-setting for ASoC hdac_hdmi. After we enable the hdmi in UCM,
> > pulseaudio will try to parse the hdmi pcm devices. It will cause failure if
> > there are no monitors connected.
> 
> Out of curiosity, how is this handled in the legacy driver? I haven't
> done this for a long time but I remember very clearly being able to
> play on the HDMI:3,7, etc devices without any monitors
> connected. You'd get of course no sound but there was no error
> reported to userspace. The hardware is perfectly capable of pushing
> samples into the display controller using the HDAudio/iDisp link.

As mentioned in the thread, PA just picks up the stream that is
connected via a monitor by checking / notified by the corresponding
Jack control.  On hdac_hdmi driver, the jack control has different
base name that is irrelevant with the output pins, so PA doesn't know
how to interpret it, hence it's ignored.


thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux