Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: libin.yang@intel.com, alsa-devel@alsa-project.org,
	broonie@kernel.org, subhransu.s.prusty@intel.com,
	samreen.nilofer@intel.com
Subject: Re: [RFC PATCH] ASoC: codec: hdac_hdmi: no checking monitor in hw_params
Date: Mon, 6 May 2019 10:47:25 -0500	[thread overview]
Message-ID: <5286a2bd-cb71-8094-84d5-6ac2ad2b1c02@linux.intel.com> (raw)
In-Reply-To: <s5hzhnz3817.wl-tiwai@suse.de>

On 5/6/19 10:41 AM, Takashi Iwai wrote:
> On Mon, 06 May 2019 17:37:32 +0200,
> Pierre-Louis Bossart wrote:
>>
>> On 5/6/19 1:59 AM, libin.yang@intel.com wrote:
>>> From: Libin Yang <libin.yang@intel.com>
>>>
>>> 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.

Yes, but do we have any error checks in the hw_params or trigger cases 
with the legacy driver?

  reply	other threads:[~2019-05-06 15:47 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-06  6:59 [RFC PATCH] ASoC: codec: hdac_hdmi: no checking monitor in hw_params libin.yang
2019-05-06  8:19 ` Jaroslav Kysela
2019-05-06  8:39   ` Takashi Iwai
2019-05-06  8:56     ` Yang, Libin
2019-05-06  9:01       ` Takashi Iwai
2019-05-06  9:13         ` Yang, Libin
2019-05-06  8:46   ` Yang, Libin
2019-05-06  9:03     ` Jaroslav Kysela
2019-05-06  9:25       ` Yang, Libin
2019-05-06  9:31         ` Takashi Iwai
2019-05-06 10:58           ` Hui Wang
2019-05-06  9:25       ` Takashi Iwai
2019-05-06 15:37 ` Pierre-Louis Bossart
2019-05-06 15:41   ` Takashi Iwai
2019-05-06 15:47     ` Pierre-Louis Bossart [this message]
2019-05-06 15:50       ` Takashi Iwai
2019-05-06 15:54         ` Pierre-Louis Bossart
2019-05-07  1:29           ` Yang, Libin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5286a2bd-cb71-8094-84d5-6ac2ad2b1c02@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=libin.yang@intel.com \
    --cc=samreen.nilofer@intel.com \
    --cc=subhransu.s.prusty@intel.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox