From: Stéphane Marchesin <marc...@chromium.org>

The AVI Infoframe disappears on SNB after suspend/resume. This patch
works around what seems to be a hardware issue by doing a dummy register
write on DPMS calls.

BUG=chrome-os-partner:16054
TEST=with the HDMI analyzer: suspend/resume parrot, verify that
TEST=the AVI infoframe is still here

Change-Id: I7cb880408db3cd279d09cb7a53f6787c14e03027
Reviewed-on: https://gerrit.chromium.org/gerrit/37596
Tested-by: Stéphane Marchesin <marc...@chromium.org>
Reviewed-by: Stuart Abercrombie <sabercrom...@chromium.org>
Commit-Ready: Stéphane Marchesin <marc...@chromium.org>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
b/drivers/gpu/drm/i915/intel_hdmi.c
index 2ee9821..3085e2b 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -746,6 +746,12 @@ static void intel_disable_hdmi(struct intel_encoder 
*encoder)
                I915_WRITE(intel_hdmi->sdvox_reg, temp);
                POSTING_READ(intel_hdmi->sdvox_reg);
        }
+
+       /* Workaround for disappearing AVI Infoframe on SNB on resume */
+       if (HAS_PCH_SPLIT(dev)) {
+               I915_WRITE(_VIDEO_DIP_CTL_A, I915_READ(_VIDEO_DIP_CTL_A));
+               I915_WRITE(_VIDEO_DIP_CTL_B, I915_READ(_VIDEO_DIP_CTL_B));
+       }
 }
 
 static int intel_hdmi_mode_valid(struct drm_connector *connector,
-- 
1.8.3.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to