[alsa-devel] [RFC PATCH v2 4/6] ALSA: hda/hdmi - implement mst_no_extra_pcms flag
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Sep 6 17:07:23 CEST 2019
On 9/6/19 9:29 AM, Kai Vehmanen wrote:
> When mst_no_exxtra_pcms flag is set, the codec should not
typo: extra
> use backup PCMs to handle DP-MST scenarios. Instead a simple
> 1:1 mapping is assumed between PCMs and converters.
>
> Signed-off-by: Kai Vehmanen <kai.vehmanen at linux.intel.com>
> ---
> sound/pci/hda/patch_hdmi.c | 19 ++++++++++++++-----
> 1 file changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index bca5de78e9ad..59aaee4a40fd 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -2072,15 +2072,24 @@ static bool is_hdmi_pcm_attached(struct hdac_device *hdac, int pcm_idx)
> static int generic_hdmi_build_pcms(struct hda_codec *codec)
> {
> struct hdmi_spec *spec = codec->spec;
> - int idx;
> + int idx, pcm_num;
>
> /*
> * for non-mst mode, pcm number is the same as before
> - * for DP MST mode, pcm number is (nid number + dev_num - 1)
> - * dev_num is the device entry number in a pin
> - *
> + * for DP MST mode without extra PCM, pcm number is same
> + * for DP MST mode with extra PCMs, pcm number is
> + * (nid number + dev_num - 1)
> + * dev_num is the device entry number in a pin
> */
> - for (idx = 0; idx < spec->num_nids + spec->dev_num - 1; idx++) {
> +
> + if (codec->mst_no_extra_pcms)
> + pcm_num = spec->num_nids;
> + else
> + pcm_num = spec->num_nids + spec->dev_num - 1;
> +
> + codec_dbg(codec, "hdmi: pcm_num set to %d\n", pcm_num);
> +
> + for (idx = 0; idx < pcm_num; idx++) {
> struct hda_pcm *info;
> struct hda_pcm_stream *pstr;
>
>
More information about the Alsa-devel
mailing list