]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/drm/i915/i915_vma.c
drm/i915: Track the purgeable objects on a separate eviction list
[linux.git] / drivers / gpu / drm / i915 / i915_vma.c
index 59a2f6af6103d99ffaf8e5a301532ea748af1af8..f640caec4bae6cc96e552505f1aebd325fd66c05 100644 (file)
@@ -717,7 +717,8 @@ i915_vma_remove(struct i915_vma *vma)
                struct drm_i915_gem_object *obj = vma->obj;
 
                spin_lock(&i915->mm.obj_lock);
-               if (--obj->bind_count == 0)
+               if (--obj->bind_count == 0 &&
+                   obj->mm.madv == I915_MADV_WILLNEED)
                        list_move_tail(&obj->mm.link, &i915->mm.unbound_list);
                spin_unlock(&i915->mm.obj_lock);