6 Sep
2019
6 Sep
'19
5:07 p.m.
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@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;