]> git.karo-electronics.de Git - linux-beck.git/blobdiff - sound/pci/hda/patch_hdmi.c
ALSA: hda - verify pin:converter connection on unsol event for HSW and VLV
[linux-beck.git] / sound / pci / hda / patch_hdmi.c
index be0a9ee0b8049afc617d36a8074d01d9953405a8..3e4417b0ddbe7a1eec6af39d072a993483ae34b4 100644 (file)
@@ -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)