aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/hda/patch_hdmi.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index be0a9ee0b804..3e4417b0ddbe 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1594,10 +1594,18 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
1594 * Re-setup pin and infoframe. This is needed e.g. when 1594 * Re-setup pin and infoframe. This is needed e.g. when
1595 * - sink is first plugged-in (infoframe is not set up if !monitor_present) 1595 * - sink is first plugged-in (infoframe is not set up if !monitor_present)
1596 * - transcoder can change during stream playback on Haswell 1596 * - transcoder can change during stream playback on Haswell
1597 * and this can make HW reset converter selection on a pin.
1597 */ 1598 */
1598 if (eld->eld_valid && !old_eld_valid && per_pin->setup) 1599 if (eld->eld_valid && !old_eld_valid && per_pin->setup) {
1600 if (is_haswell_plus(codec) || is_valleyview(codec)) {
1601 intel_verify_pin_cvt_connect(codec, per_pin);
1602 intel_not_share_assigned_cvt(codec, pin_nid,
1603 per_pin->mux_idx);
1604 }
1605
1599 hdmi_setup_audio_infoframe(codec, per_pin, 1606 hdmi_setup_audio_infoframe(codec, per_pin,
1600 per_pin->non_pcm); 1607 per_pin->non_pcm);
1608 }
1601 } 1609 }
1602 1610
1603 if (eld_changed) 1611 if (eld_changed)