[PATCH] drm/i915: Ignore OpRegion panel type on Ivy Bridge + Mobile

Adrien Vergé adrienverge at gmail.com
Sun Sep 11 13:57:19 UTC 2016


On Terra Mobile Ultrabook 1450 II (Core i5-3337U, i915 devid = 0x166),
the screen is tiled in many 480×320 screens (like a mosaic) since v4.7.
This laptop is simply unusable.

I have bisected the cause to commit a05628195a0d ("drm/i915: Get
panel_type from OpRegion panel details").

Like for Skylake, it seems that using the OpRegion panel type (here, 0)
causes the problem, whereas the VBT panel type (here, 7) gives a normal
display. See commit aeddda06c1a7 ("drm/i915: Ignore panel type from
OpRegion on SKL") for background on this Skylake fix.

This patch ignores OpRegion panel type for Ivy Bridge + Mobile chips.

Tested-by: Adrien Vergé <adrienverge at gmail.com>
Signed-off-by: Adrien Vergé <adrienverge at gmail.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 adca262..94e2db7 100644
--- a/drivers/gpu/drm/i915/intel_opregion.c
+++ b/drivers/gpu/drm/i915/intel_opregion.c
@@ -1083,5 +1083,16 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
 		return -ENODEV;
 	}
 
+	/*
+	 * FIXME On Terra Mobile Ultrabook 1450 II (Intel Core i5-3337U) the
+	 * OpRegion panel type (0) results in tiled ("mosaic") display bug,
+	 * whereas the VBT panel type (7) gives a normal display.
+	 * Let's ignore the OpRegion panel type for this chip.
+	 */
+	if (IS_IVYBRIDGE(dev_priv) && IS_MOBILE(dev_priv)) {
+		DRM_DEBUG_KMS("Ignoring OpRegion panel type (%d)\n", ret - 1);
+		return -ENODEV;
+	}
+
 	return ret - 1;
 }
-- 
2.7.4



More information about the dri-devel mailing list