|
@@ -1594,10 +1594,18 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
|
|
|
* Re-setup pin and infoframe. This is needed e.g. when
|
|
|
* - sink is first plugged-in (infoframe is not set up if !monitor_present)
|
|
|
* - transcoder can change during stream playback on Haswell
|
|
|
+ * and this can make HW reset converter selection on a pin.
|
|
|
*/
|
|
|
- if (eld->eld_valid && !old_eld_valid && per_pin->setup)
|
|
|
+ if (eld->eld_valid && !old_eld_valid && per_pin->setup) {
|
|
|
+ if (is_haswell_plus(codec) || is_valleyview(codec)) {
|
|
|
+ intel_verify_pin_cvt_connect(codec, per_pin);
|
|
|
+ intel_not_share_assigned_cvt(codec, pin_nid,
|
|
|
+ per_pin->mux_idx);
|
|
|
+ }
|
|
|
+
|
|
|
hdmi_setup_audio_infoframe(codec, per_pin,
|
|
|
per_pin->non_pcm);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (eld_changed)
|