]>
Commit | Line | Data |
---|---|---|
19fe9a56 GKH |
1 | From 48fcfc888b48ad49dd83faa107264bbfb0089cad Mon Sep 17 00:00:00 2001 |
2 | From: Kyle McMartin <kyle@redhat.com> | |
3 | Date: Wed, 3 Nov 2010 16:27:57 -0400 | |
4 | Subject: i915: reprogram power monitoring registers on resume | |
5 | ||
6 | From: Kyle McMartin <kyle@redhat.com> | |
7 | ||
8 | commit 48fcfc888b48ad49dd83faa107264bbfb0089cad upstream. | |
9 | ||
10 | Fixes issue where i915_gfx_val was reporting values several | |
11 | orders of magnitude higher than physically possible (without | |
12 | leaving scorch marks on my thighs at least.) | |
13 | ||
14 | Signed-off-by: Kyle McMartin <kyle@redhat.com> | |
15 | Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> | |
16 | Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> | |
17 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
18 | ||
19 | --- | |
20 | drivers/gpu/drm/i915/i915_suspend.c | 4 +++- | |
21 | drivers/gpu/drm/i915/intel_drv.h | 1 + | |
22 | 2 files changed, 4 insertions(+), 1 deletion(-) | |
23 | ||
24 | --- a/drivers/gpu/drm/i915/i915_suspend.c | |
25 | +++ b/drivers/gpu/drm/i915/i915_suspend.c | |
26 | @@ -862,8 +862,10 @@ int i915_restore_state(struct drm_device | |
27 | /* Clock gating state */ | |
28 | intel_init_clock_gating(dev); | |
29 | ||
30 | - if (HAS_PCH_SPLIT(dev)) | |
31 | + if (HAS_PCH_SPLIT(dev)) { | |
32 | ironlake_enable_drps(dev); | |
33 | + intel_init_emon(dev); | |
34 | + } | |
35 | ||
36 | /* Cache mode state */ | |
37 | I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000); | |
38 | --- a/drivers/gpu/drm/i915/intel_drv.h | |
39 | +++ b/drivers/gpu/drm/i915/intel_drv.h | |
40 | @@ -250,6 +250,7 @@ extern void intel_crtc_fb_gamma_get(stru | |
41 | extern void intel_init_clock_gating(struct drm_device *dev); | |
42 | extern void ironlake_enable_drps(struct drm_device *dev); | |
43 | extern void ironlake_disable_drps(struct drm_device *dev); | |
44 | +extern void intel_init_emon(struct drm_device *dev); | |
45 | ||
46 | extern int intel_pin_and_fence_fb_obj(struct drm_device *dev, | |
47 | struct drm_gem_object *obj); |