System76 - Intel DRM patch

Carl Richell carl at system76.com
Sun Apr 1 21:55:01 UTC 2012


Hi,

We'd like to make sure 12.04 is flawless on our next-gen laptops. A 
kernel patch is required to fix an offset desktop bug. The patch applies 
cleanly on the current precise kernel. Please see:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/968307

https://bugzilla.kernel.org/show_bug.cgi?id=43012


-- Carl

References: https://bugs.freedesktop.org/show_bug.cgi?id=47271
Signed-off-by: Chris Wilson<chris at chris-wilson.co.uk>
Cc: stable at kernel.org
---
  drivers/gpu/drm/i915/i915_reg.h      |    1 +
  drivers/gpu/drm/i915/intel_display.c |    6 ++++++
  2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 3d9ba01..218b3db9 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -2385,6 +2385,7 @@
  #define   PIPECONF_DISABLE	0
  #define   PIPECONF_DOUBLE_WIDE	(1<<30)
  #define   I965_PIPECONF_ACTIVE	(1<<30)
+#define   PIPECONF_FRAME_START_DELAY_MASK (3<<27)
  #define   PIPECONF_SINGLE_WIDE	0
  #define   PIPECONF_PIPE_UNLOCKED 0
  #define   PIPECONF_PIPE_LOCKED	(1<<25)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 6b0562b..73ea6e9 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -7695,6 +7695,12 @@ static void intel_sanitize_modesetting(struct drm_device *dev,
  	struct drm_i915_private *dev_priv = dev->dev_private;
  	u32 reg, val;

+	/* Clear any frame start delays used for debugging left by the BIOS */
+	for_each_pipe(pipe) {
+		reg = PIPECONF(pipe);
+		I915_WRITE(reg, I915_READ(reg)&  ~PIPECONF_FRAME_START_DELAY_MASK);
+	}
+
  	if (HAS_PCH_SPLIT(dev))
  		return;





More information about the kernel-team mailing list