drm/i915: Release fenced GTT mapping on suspend
authorChris Wilson <chris@chris-wilson.co.uk>
Sat, 27 Nov 2010 17:38:29 +0000 (17:38 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Sun, 28 Nov 2010 16:12:15 +0000 (16:12 +0000)
... 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>
drivers/gpu/drm/i915/i915_gem.c

index a090acdf3bd503d1acf4b5c727d4f34d83c3b280..eae52de75a4cb1da71f387fbee9d304d319c322f 100644 (file)
@@ -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);
        }
 }