From a3e5ef0ac49dfc2b6032860c96276cc213b355a4 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mar 02 2012 17:22:53 +0000 Subject: drm-intel-crtc-dpms-fix.patch: Fix system hang on gen2 kit on DPMS (#730853) --- 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 +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 +Signed-off-by: Chris Wilson +Reviewed-by: Jesse Barnes +Cc: stable@kernel.org +Signed-off-by: Jesse Barnes +--- + 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 15d3210..8ac728b 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 +- drm-intel-crtc-dpms-fix.patch: Fix system hang on gen2 kit on DPMS (#730853) + * Thu Mar 01 2012 Dave Jones - temporarily switch to low-performance polling IRQ mode when unexpected IRQs occur.