diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2009-11-11 12:19:18 -0500 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-11-30 19:27:23 -0500 |
commit | c1b5dea097258b3d3d570d5ccc8f4bf5accb3f29 (patch) | |
tree | 0d155441a03e806332621c661336dadefbf86a87 | |
parent | 69341a5e01897714f968b7dccb94f57137acf45f (diff) |
drm/i915: Disable pwrctx before unpin and free
Otherwise the chip may scribble over free memory.
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index abd24e2a4932..d2519f0136ef 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -4588,6 +4588,11 @@ void intel_modeset_cleanup(struct drm_device *dev) | |||
4588 | dev_priv->display.disable_fbc(dev); | 4588 | dev_priv->display.disable_fbc(dev); |
4589 | 4589 | ||
4590 | if (dev_priv->pwrctx) { | 4590 | if (dev_priv->pwrctx) { |
4591 | struct drm_i915_gem_object *obj_priv; | ||
4592 | |||
4593 | obj_priv = dev_priv->pwrctx->driver_private; | ||
4594 | I915_WRITE(PWRCTXA, obj_priv->gtt_offset &~ PWRCTX_EN); | ||
4595 | I915_READ(PWRCTXA); | ||
4591 | i915_gem_object_unpin(dev_priv->pwrctx); | 4596 | i915_gem_object_unpin(dev_priv->pwrctx); |
4592 | drm_gem_object_unreference(dev_priv->pwrctx); | 4597 | drm_gem_object_unreference(dev_priv->pwrctx); |
4593 | } | 4598 | } |