diff options
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_gtt.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 86673e77d7cb..70433ae50ac8 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c | |||
@@ -85,15 +85,11 @@ int i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj) | |||
85 | 85 | ||
86 | void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj) | 86 | void i915_gem_gtt_unbind_object(struct drm_i915_gem_object *obj) |
87 | { | 87 | { |
88 | struct drm_device *dev = obj->base.dev; | 88 | intel_gtt_clear_range(obj->gtt_space->start >> PAGE_SHIFT, |
89 | struct drm_i915_private *dev_priv = dev->dev_private; | 89 | obj->base.size >> PAGE_SHIFT); |
90 | 90 | ||
91 | if (dev_priv->mm.gtt->needs_dmar) { | 91 | if (obj->sg_list) { |
92 | intel_gtt_unmap_memory(obj->sg_list, obj->num_sg); | 92 | intel_gtt_unmap_memory(obj->sg_list, obj->num_sg); |
93 | obj->sg_list = NULL; | 93 | obj->sg_list = NULL; |
94 | obj->num_sg = 0; | ||
95 | } | 94 | } |
96 | |||
97 | intel_gtt_clear_range(obj->gtt_space->start >> PAGE_SHIFT, | ||
98 | obj->base.size >> PAGE_SHIFT); | ||
99 | } | 95 | } |