diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-11-27 17:38:29 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-11-28 16:12:15 +0000 |
commit | 7d2cb39c332146b0906651a8567f8b81af4b1584 (patch) | |
tree | 18066c1a2a3b7a7aab92744ae3fb578f47a2c734 /drivers | |
parent | 3619df035ec9280314fae44032a6167f16ec38d2 (diff) | |
download | talos-op-linux-7d2cb39c332146b0906651a8567f8b81af4b1584.tar.gz talos-op-linux-7d2cb39c332146b0906651a8567f8b81af4b1584.zip |
drm/i915: Release fenced GTT mapping on suspend
... so that upon first use after resume we will reacquire the fence reg.
Reported-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index a090acdf3bd5..eae52de75a4c 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1794,8 +1794,15 @@ static void i915_gem_reset_fences(struct drm_device *dev) for (i = 0; i < 16; i++) { struct drm_i915_fence_reg *reg = &dev_priv->fence_regs[i]; - if (reg->obj) - i915_gem_clear_fence_reg(reg->obj); + struct drm_i915_gem_object *obj = reg->obj; + + if (!obj) + continue; + + if (obj->tiling_mode) + i915_gem_release_mmap(obj); + + i915_gem_clear_fence_reg(obj); } } |