From 4cd6a7f0577c367964fcaf08a1049b08c7c4efef Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Mon, 15 Nov 2010 20:13:18 -0500 Subject: [PATCH] fix intel_ips driver --- ...power-monitoring-registers-on-resume.patch | 49 +++++++++++++++++++ kernel.spec | 8 ++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 drm-i915-reprogram-power-monitoring-registers-on-resume.patch 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 000000000..a37442607 --- /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 +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 +Reviewed-by: Jesse Barnes +Cc: stable@kernel.org +Signed-off-by: Chris Wilson +--- + 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 7c6c4e75c..ec7ee2bd3 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 2.6.36-2 +- drm-i915-reprogram-power-monitoring-registers-on-resume.patch: fix intel_ips + driver. + * Wed Oct 20 2010 Chuck Ebbert 2.6.36-1 - Linux 2.6.36