diff options
-rw-r--r-- | sound/pci/hda/patch_hdmi.c | 10 |
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) |