summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2012-03-02 12:22:53 -0500
committerAdam Jackson <ajax@redhat.com>2012-03-02 12:22:53 -0500
commita3e5ef0ac49dfc2b6032860c96276cc213b355a4 (patch)
tree07dff163235d4182785f44bd380ae7ace8223445
parent766e8e89f617f84d420103553cfa62f2fe05d9e2 (diff)
downloadkernel-a3e5ef0ac49dfc2b6032860c96276cc213b355a4.tar.gz
kernel-a3e5ef0ac49dfc2b6032860c96276cc213b355a4.tar.xz
kernel-a3e5ef0ac49dfc2b6032860c96276cc213b355a4.zip
drm-intel-crtc-dpms-fix.patch: Fix system hang on gen2 kit on DPMS (#730853)
-rw-r--r--drm-intel-crtc-dpms-fix.patch40
-rw-r--r--kernel.spec5
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 00000000..eb582cbe
--- /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@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@yahoo.com>
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
+Cc: stable@kernel.org
+Signed-off-by: Jesse Barnes <jbarnes@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 15d3210d..8ac728b0 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
@@ -2380,6 +2382,9 @@ fi
# ||----w |
# || ||
%changelog
+* Fri Mar 02 2012 Adam Jackson <ajax@redhat.com>
+- drm-intel-crtc-dpms-fix.patch: Fix system hang on gen2 kit on DPMS (#730853)
+
* Thu Mar 01 2012 Dave Jones <davej@redhat.com>
- temporarily switch to low-performance polling IRQ mode when
unexpected IRQs occur.