Skip to content

Commit 609f548

Browse files
kv2019itiwai
authored andcommitted
ALSA: hda: hdmi - preserve non-MST PCM routing for Intel platforms
Commit 5398e94 ("ALSA: hda - Add DP-MST support for NVIDIA codecs") introduced a slight change of behaviour how non-MST monitors are assigned to PCMs on Intel platforms. In the drm_audio_component.h interface, the third parameter to pin_eld_notify() is pipe number. On Intel platforms, this value is -1 for MST. On other platforms, a non-zero pipe id is used to signal MST use. This difference leads to some subtle differences in hdmi_find_pcm_slot() with regards to how non-MST monitors are assigned to PCMs. This patch restores the original behaviour on Intel platforms while keeping the new allocation policy on other platforms. Signed-off-by: Kai Vehmanen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 0c0fe9e commit 609f548

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

sound/pci/hda/patch_hdmi.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,6 +1353,11 @@ static int hdmi_find_pcm_slot(struct hdmi_spec *spec,
13531353
i = spec->num_nids + (per_pin->dev_id - 1);
13541354
if (i < spec->pcm_used && !(test_bit(i, &spec->pcm_bitmap)))
13551355
return i;
1356+
1357+
/* keep legacy assignment for dev_id>0 on Intel platforms */
1358+
if (spec->intel_hsw_fixup)
1359+
if (!test_bit(per_pin->pin_nid_idx, &spec->pcm_bitmap))
1360+
return per_pin->pin_nid_idx;
13561361
}
13571362

13581363
/* have a second try; check the area over num_nids */

0 commit comments

Comments
 (0)