aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/hda/patch_hdmi.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 772827b9fb20..d61cc2ab52af 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -46,6 +46,7 @@ module_param(static_hdmi_pcm, bool, 0644);
46MODULE_PARM_DESC(static_hdmi_pcm, "Don't restrict PCM parameters per ELD info"); 46MODULE_PARM_DESC(static_hdmi_pcm, "Don't restrict PCM parameters per ELD info");
47 47
48#define is_haswell(codec) ((codec)->vendor_id == 0x80862807) 48#define is_haswell(codec) ((codec)->vendor_id == 0x80862807)
49#define is_valleyview(codec) ((codec)->vendor_id == 0x80862882)
49 50
50struct hdmi_spec_per_cvt { 51struct hdmi_spec_per_cvt {
51 hda_nid_t cvt_nid; 52 hda_nid_t cvt_nid;
@@ -1327,7 +1328,7 @@ static int hdmi_choose_cvt(struct hda_codec *codec,
1327 return 0; 1328 return 0;
1328} 1329}
1329 1330
1330static void haswell_config_cvts(struct hda_codec *codec, 1331static void not_share_unassigned_cvt(struct hda_codec *codec,
1331 hda_nid_t pin_nid, int mux_idx) 1332 hda_nid_t pin_nid, int mux_idx)
1332{ 1333{
1333 struct hdmi_spec *spec = codec->spec; 1334 struct hdmi_spec *spec = codec->spec;
@@ -1406,8 +1407,8 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo,
1406 mux_idx); 1407 mux_idx);
1407 1408
1408 /* configure unused pins to choose other converters */ 1409 /* configure unused pins to choose other converters */
1409 if (is_haswell(codec)) 1410 if (is_haswell(codec) || is_valleyview(codec))
1410 haswell_config_cvts(codec, per_pin->pin_nid, mux_idx); 1411 not_share_unassigned_cvt(codec, per_pin->pin_nid, mux_idx);
1411 1412
1412 snd_hda_spdif_ctls_assign(codec, pin_idx, per_cvt->cvt_nid); 1413 snd_hda_spdif_ctls_assign(codec, pin_idx, per_cvt->cvt_nid);
1413 1414