[kernel/f17] 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:25:26 UTC 2012
commit 543bc431456842f6fe5a1fea6f9c0691fc680bc0
Author: Adam Jackson <ajax at redhat.com>
Date: Fri Mar 2 12:25:24 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 61ce5a8..c811303 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -705,6 +705,7 @@ Patch1800: drm-vgem.patch
# nouveau + drm fixes
# intel drm is all merged upstream
Patch1824: drm-intel-next.patch
+Patch1825: drm-intel-crtc-dpms-fix.patch
Patch1900: linux-2.6-intel-iommu-igfx.patch
@@ -1442,6 +1443,7 @@ ApplyPatch drm-vgem.patch
# Intel DRM
ApplyOptionalPatch drm-intel-next.patch
+ApplyPatch drm-intel-crtc-dpms-fix.patch
ApplyPatch linux-2.6-intel-iommu-igfx.patch
@@ -2390,6 +2392,9 @@ fi
# '-' | |
# '-'
%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 Dave Jones <davej at redhat.com>
- temporarily switch to low-performance polling IRQ mode when
unexpected IRQs occur.
More information about the scm-commits
mailing list