[kernel/f15] drm-intel-crtc-dpms-fix.patch: Fix system hang on gen2 kit on DPMS (#730853)

Adam Jackson ajax at fedoraproject.org
Fri Mar 2 17:29:50 UTC 2012


commit b2fb454be9036d82d6c26d8d59e484a971a9e66f
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri Mar 2 12:29:49 2012 -0500

    drm-intel-crtc-dpms-fix.patch: Fix system hang on gen2 kit on DPMS (#730853)

 drm-intel-crtc-dpms-fix.patch |   40 ++++++++++++++++++++++++++++++++++++++++
 kernel.spec                   |    5 +++++
 2 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/drm-intel-crtc-dpms-fix.patch b/drm-intel-crtc-dpms-fix.patch
new file mode 100644
index 0000000..eb582cb
--- /dev/null
+++ b/drm-intel-crtc-dpms-fix.patch
@@ -0,0 +1,40 @@
+From aed3f09db39596e539f90b11a5016aea4d8442e1 Mon Sep 17 00:00:00 2001
+From: Alban Browaeys <prahal at yahoo.com>
+Date: Fri, 24 Feb 2012 17:12:45 +0000
+Subject: [PATCH] drm/i915: Prevent a machine hang by checking crtc->active
+ before loading lut
+
+Before loading the lut (gamma), check the active state of intel_crtc,
+otherwise at least on gen2 hang ensue.
+
+This is reproducible in Xorg via:
+  xset dpms force off
+then
+  xgamma -rgamma 2.0 # freeze.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44505
+Signed-off-by: Alban Browaeys <prahal at yahoo.com>
+Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
+Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+Cc: stable at kernel.org
+Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+---
+ drivers/gpu/drm/i915/intel_display.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 4871ba0..f851db7 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -6184,7 +6184,7 @@ void intel_crtc_load_lut(struct drm_crtc *crtc)
+ 	int i;
+ 
+ 	/* The clocks have to be on to load the palette. */
+-	if (!crtc->enabled)
++	if (!crtc->enabled || !intel_crtc->active)
+ 		return;
+ 
+ 	/* use legacy palette for Ironlake */
+-- 
+1.7.7.6
+
diff --git a/kernel.spec b/kernel.spec
index 402cc24..cc5497e 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -617,6 +617,7 @@ Patch1500: fix_xen_guest_on_old_EC2.patch
 Patch1810: drm-nouveau-updates.patch
 # intel drm is all merged upstream
 Patch1824: drm-intel-next.patch
+Patch1825: drm-intel-crtc-dpms-fix.patch
 # hush the i915 fbc noise
 Patch1826: drm-i915-fbc-stfu.patch
 
@@ -1244,6 +1245,7 @@ ApplyOptionalPatch drm-nouveau-updates.patch
 
 # Intel DRM
 ApplyOptionalPatch drm-intel-next.patch
+ApplyPatch drm-intel-crtc-dpms-fix.patch
 ApplyPatch drm-i915-fbc-stfu.patch
 
 ApplyPatch linux-2.6-intel-iommu-igfx.patch
@@ -1982,6 +1984,9 @@ fi
 # and build.
 
 %changelog
+* Fri Mar 02 2012 Adam Jackson <ajax at redhat.com>
+- drm-intel-crtc-dpms-fix.patch: Fix system hang on gen2 kit on DPMS (#730853)
+
 * Thu Mar 01 2012 Justin M. Forbes <jforbes at redhat.com> 2.6.42.9-1
 - Linux 3.2.9
 


More information about the scm-commits mailing list