[Intel-gfx] [PATCH] drm/i915: Ignore panel type from OpRegion on SKL

ville.syrjala at linux.intel.com ville.syrjala at linux.intel.com
Tue Jul 12 12:00:37 UTC 2016


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

Dell XPS 13 9350 apparently doesn't like it when we use the panel type
from OpRegion. The OpRegion panel type (0) tells us to use use low
vswing for eDP, whereas the VBT panel type (2) tells us to use normal
vswing. The problem is that low vswing results in some display flickers.
Since no one seems to know how this stuff is supposed to be handled,
let's just ignore the OpRegion panel type on SKL for now.

Reported-by: James Bottomley <James.Bottomley at HansenPartnership.com>
Cc: James Bottomley <James.Bottomley at HansenPartnership.com>
Cc: drm-intel-fixes at lists.freedesktop.org
References: https://lists.freedesktop.org/archives/intel-gfx/2016-June/098826.html
Fixes: a05628195a0d ("drm/i915: Get panel_type from OpRegion panel details")
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 drivers/gpu/drm/i915/intel_opregion.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
index c27d5eb063d0..259760f12d16 100644
--- a/drivers/gpu/drm/i915/intel_opregion.c
+++ b/drivers/gpu/drm/i915/intel_opregion.c
@@ -1072,5 +1072,16 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
 		return -ENODEV;
 	}
 
+	/*
+	 * FIXME On Dell XPS 13 9350 the OpRegion panel type (0) gives us
+	 * low vswing for eDP, whereas the VBT panel type (2) gives us normal
+	 * vswing instead. Low vswing results in some display flickers, so
+	 * let's simply ignore the OpRegion panel type on SKL for now.
+	 */
+	if (IS_SKYLAKE(dev_priv)) {
+		DRM_DEBUG_KMS("Ignoring OpRegion panel type (%d)\n", ret);
+		return -ENODEV;
+	}
+
 	return ret - 1;
 }
-- 
2.7.4



More information about the Intel-gfx mailing list