All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Hui Wang <hui.wang@canonical.com>
Cc: alsa-devel@alsa-project.org, kai.vehmanen@linux.intel.com
Subject: Re: [PATCH] ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically
Date: Tue, 23 Feb 2021 14:09:37 +0100	[thread overview]
Message-ID: <s5hpn0rue0e.wl-tiwai@suse.de> (raw)
In-Reply-To: <20210223122205.233701-1-hui.wang@canonical.com>

On Tue, 23 Feb 2021 13:22:05 +0100,
Hui Wang wrote:
> 
> If the platform set the dyn_pcm_assign to true, it will call
> hdmi_find_pcm_slot() to find a pcm slot when hdmi/dp monitor is
> connected and need to create a pcm.
> 
> So far only intel_hsw_common_init() and patch_nvhdmi() set the
> dyn_pcm_assign to true, here we let tgl platforms assign the pcm slot
> dynamically first, if the driver runs for a period of time and there
> is no regression reported, we could set no_fixed_assgin to true in
> the intel_hsw_common_init(), and then set it to true in the
> patch_nvhdmi().
> 
> This change comes from the discussion between Takashi and
> Kai Vehmanen. Please refer to:
> https://github.com/alsa-project/alsa-lib/pull/118
> 
> Signed-off-by: Hui Wang <hui.wang@canonical.com>

As this would "fix" actual use cases, I'd love to merge this for 5.12,
but of course it needs to be verified beforehand.

So this was actually tested in your side, right?


thanks,

Takashi

> ---
>  sound/pci/hda/patch_hdmi.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index e405be7929e3..379a4d786b3b 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -157,6 +157,7 @@ struct hdmi_spec {
>  
>  	bool dyn_pin_out;
>  	bool dyn_pcm_assign;
> +	bool no_fixed_assign;
>  	bool intel_hsw_fixup;	/* apply Intel platform-specific fixups */
>  	/*
>  	 * Non-generic VIA/NVIDIA specific
> @@ -1345,6 +1346,12 @@ static int hdmi_find_pcm_slot(struct hdmi_spec *spec,
>  {
>  	int i;
>  
> +	/* on the new machines, try to assign the pcm slot dynamically,
> +	 * not use the preferred fixed map anymore.
> +	 */
> +	if (spec->no_fixed_assign)
> +		goto last_try;
> +
>  	/*
>  	 * generic_hdmi_build_pcms() may allocate extra PCMs on some
>  	 * platforms (with maximum of 'num_nids + dev_num - 1')
> @@ -1374,6 +1381,7 @@ static int hdmi_find_pcm_slot(struct hdmi_spec *spec,
>  			return i;
>  	}
>  
> + last_try:
>  	/* the last try; check the empty slots in pins */
>  	for (i = 0; i < spec->num_nids; i++) {
>  		if (!test_bit(i, &spec->pcm_bitmap))
> @@ -2937,6 +2945,9 @@ static int intel_hsw_common_init(struct hda_codec *codec, hda_nid_t vendor_nid,
>  	spec->port_num = port_num;
>  	spec->intel_hsw_fixup = true;
>  
> +	if (port_num > 6)
> +		spec->no_fixed_assign = true;
> +
>  	intel_haswell_enable_all_pins(codec, true);
>  	intel_haswell_fixup_enable_dp12(codec);
>  
> -- 
> 2.25.1
> 

  reply	other threads:[~2021-02-23 13:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-23 12:22 [PATCH] ALSA: hda/hdmi: let new platforms assign the pcm slot dynamically Hui Wang
2021-02-23 13:09 ` Takashi Iwai [this message]
2021-02-24  2:24   ` Hui Wang
2021-02-23 14:14 ` Kai Vehmanen
2021-02-23 16:25   ` Jaroslav Kysela
2021-02-23 16:33     ` Takashi Iwai
2021-02-23 17:51       ` Kai Vehmanen
2021-02-24  2:22         ` Hui Wang
2021-02-24 10:17           ` Kai Vehmanen
2021-02-25  8:35             ` Hui Wang
2021-02-24  2:32   ` Hui Wang

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=s5hpn0rue0e.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=hui.wang@canonical.com \
    --cc=kai.vehmanen@linux.intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.