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>
This commit is contained in:
Родитель
5588978882
Коммит
48fcfc888b
|
@ -862,8 +862,10 @@ int i915_restore_state(struct drm_device *dev)
|
||||||
/* Clock gating state */
|
/* Clock gating state */
|
||||||
intel_init_clock_gating(dev);
|
intel_init_clock_gating(dev);
|
||||||
|
|
||||||
if (HAS_PCH_SPLIT(dev))
|
if (HAS_PCH_SPLIT(dev)) {
|
||||||
ironlake_enable_drps(dev);
|
ironlake_enable_drps(dev);
|
||||||
|
intel_init_emon(dev);
|
||||||
|
}
|
||||||
|
|
||||||
/* Cache mode state */
|
/* Cache mode state */
|
||||||
I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000);
|
I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000);
|
||||||
|
|
|
@ -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 intel_init_clock_gating(struct drm_device *dev);
|
||||||
extern void ironlake_enable_drps(struct drm_device *dev);
|
extern void ironlake_enable_drps(struct drm_device *dev);
|
||||||
extern void ironlake_disable_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,
|
extern int intel_pin_and_fence_fb_obj(struct drm_device *dev,
|
||||||
struct drm_gem_object *obj,
|
struct drm_gem_object *obj,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче