summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyle McMartin <kyle@mcmartin.ca>2010-11-15 20:13:18 -0500
committerKyle McMartin <kyle@mcmartin.ca>2010-11-15 20:13:18 -0500
commit4cd6a7f0577c367964fcaf08a1049b08c7c4efef (patch)
treec08a7d4625207500a7e613847f46c5217bee28af
parent8b813d3c547a30e99036746ca7d0db92bef272be (diff)
fix intel_ips driver
-rw-r--r--drm-i915-reprogram-power-monitoring-registers-on-resume.patch49
-rw-r--r--kernel.spec8
2 files changed, 56 insertions, 1 deletions
diff --git a/drm-i915-reprogram-power-monitoring-registers-on-resume.patch b/drm-i915-reprogram-power-monitoring-registers-on-resume.patch
new file mode 100644
index 00000000..a3744260
--- /dev/null
+++ b/drm-i915-reprogram-power-monitoring-registers-on-resume.patch
@@ -0,0 +1,49 @@
+From 48fcfc888b48ad49dd83faa107264bbfb0089cad Mon Sep 17 00:00:00 2001
+From: Kyle McMartin <kyle@redhat.com>
+Date: Wed, 3 Nov 2010 16:27:57 -0400
+Subject: [PATCH] i915: reprogram power monitoring registers on resume
+
+Fixes issue where i915_gfx_val was reporting values several
+orders of magnitude higher than physically possible (without
+leaving scorch marks on my thighs at least.)
+
+Signed-off-by: Kyle McMartin <kyle@redhat.com>
+Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
+Cc: stable@kernel.org
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+---
+ drivers/gpu/drm/i915/i915_suspend.c | 4 +++-
+ drivers/gpu/drm/i915/intel_drv.h | 1 +
+ 2 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
+index 989c19d..454c064 100644
+--- a/drivers/gpu/drm/i915/i915_suspend.c
++++ b/drivers/gpu/drm/i915/i915_suspend.c
+@@ -862,8 +862,10 @@ int i915_restore_state(struct drm_device *dev)
+ /* Clock gating state */
+ intel_init_clock_gating(dev);
+
+- if (HAS_PCH_SPLIT(dev))
++ if (HAS_PCH_SPLIT(dev)) {
+ ironlake_enable_drps(dev);
++ intel_init_emon(dev);
++ }
+
+ /* Cache mode state */
+ I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000);
+diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
+index 9af9f86..21551fe 100644
+--- a/drivers/gpu/drm/i915/intel_drv.h
++++ b/drivers/gpu/drm/i915/intel_drv.h
+@@ -296,6 +296,7 @@ extern void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
+ extern void intel_init_clock_gating(struct drm_device *dev);
+ extern void ironlake_enable_drps(struct drm_device *dev);
+ extern void ironlake_disable_drps(struct drm_device *dev);
++extern void intel_init_emon(struct drm_device *dev);
+
+ extern int intel_pin_and_fence_fb_obj(struct drm_device *dev,
+ struct drm_gem_object *obj,
+--
+1.7.3.2
+
diff --git a/kernel.spec b/kernel.spec
index 7c6c4e75..ec7ee2bd 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -51,7 +51,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be prepended with "0.", so
# for example a 3 here will become 0.3
#
-%global baserelease 1
+%global baserelease 2
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -654,6 +654,7 @@ Patch1819: drm-intel-big-hammer.patch
Patch1824: drm-intel-next.patch
# make sure the lvds comes back on lid open
Patch1825: drm-intel-make-lvds-work.patch
+Patch1826: drm-i915-reprogram-power-monitoring-registers-on-resume.patch
Patch1900: linux-2.6-intel-iommu-igfx.patch
# linux1394 git patches
@@ -1270,6 +1271,7 @@ ApplyOptionalPatch drm-nouveau-updates.patch
ApplyOptionalPatch drm-intel-next.patch
ApplyPatch drm-intel-big-hammer.patch
ApplyPatch drm-intel-make-lvds-work.patch
+ApplyPatch drm-i915-reprogram-power-monitoring-registers-on-resume.patch
ApplyPatch linux-2.6-intel-iommu-igfx.patch
# linux1394 git patches
@@ -1953,6 +1955,10 @@ fi
# || ||
%changelog
+* Mon Nov 15 2010 Kyle McMartin <kyle@redhat.com> 2.6.36-2
+- drm-i915-reprogram-power-monitoring-registers-on-resume.patch: fix intel_ips
+ driver.
+
* Wed Oct 20 2010 Chuck Ebbert <cebbert@redhat.com> 2.6.36-1
- Linux 2.6.36