Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c    |  2 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c           | 20 +++----------------
 drivers/gpu/drm/i915/i915_gem_gtt.h           |  5 -----
 drivers/gpu/drm/i915/i915_vma.c               | 12 ++---------
 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c |  2 +-
 5 files changed, 7 insertions(+), 34 deletions(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c 
b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
index c9b5e6cd940d..65ba85655582 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
@@ -686,7 +686,7 @@ i915_gem_object_create_stolen_for_preallocated(struct 
drm_i915_private *dev_priv
        __i915_vma_set_map_and_fenceable(vma);
 
        mutex_lock(&ggtt->vm.mutex);
-       list_move_tail(&vma->vm_link, &ggtt->vm.bound_list);
+       list_add_tail(&vma->vm_link, &ggtt->vm.bound_list);
        mutex_unlock(&ggtt->vm.mutex);
 
        GEM_BUG_ON(i915_gem_object_is_shrinkable(obj));
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 60f754292a64..429817c1d2b8 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -498,7 +498,6 @@ static void i915_address_space_init(struct 
i915_address_space *vm, int subclass)
 
        stash_init(&vm->free_pages);
 
-       INIT_LIST_HEAD(&vm->unbound_list);
        INIT_LIST_HEAD(&vm->bound_list);
 }
 
@@ -2076,10 +2075,6 @@ static struct i915_vma *pd_vma_create(struct 
gen6_hw_ppgtt *ppgtt, int size)
        INIT_LIST_HEAD(&vma->obj_link);
        INIT_LIST_HEAD(&vma->closed_link);
 
-       mutex_lock(&vma->vm->mutex);
-       list_add(&vma->vm_link, &vma->vm->unbound_list);
-       mutex_unlock(&vma->vm->mutex);
-
        return vma;
 }
 
@@ -2256,19 +2251,11 @@ i915_ppgtt_create(struct drm_i915_private *i915)
 
 static void ppgtt_destroy_vma(struct i915_address_space *vm)
 {
-       struct list_head *phases[] = {
-               &vm->bound_list,
-               &vm->unbound_list,
-               NULL,
-       }, **phase;
+       struct i915_vma *vma, *vn;
 
        vm->closed = true;
-       for (phase = phases; *phase; phase++) {
-               struct i915_vma *vma, *vn;
-
-               list_for_each_entry_safe(vma, vn, *phase, vm_link)
-                       i915_vma_destroy(vma);
-       }
+       list_for_each_entry_safe(vma, vn, &vm->bound_list, vm_link)
+               i915_vma_destroy(vma);
 }
 
 void i915_ppgtt_release(struct kref *kref)
@@ -2281,7 +2268,6 @@ void i915_ppgtt_release(struct kref *kref)
        ppgtt_destroy_vma(&ppgtt->vm);
 
        GEM_BUG_ON(!list_empty(&ppgtt->vm.bound_list));
-       GEM_BUG_ON(!list_empty(&ppgtt->vm.unbound_list));
 
        ppgtt->vm.cleanup(&ppgtt->vm);
        i915_address_space_fini(&ppgtt->vm);
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h 
b/drivers/gpu/drm/i915/i915_gem_gtt.h
index 5f155bf183bb..939f2f13ef7d 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.h
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
@@ -327,11 +327,6 @@ struct i915_address_space {
         */
        struct list_head bound_list;
 
-       /**
-        * List of vma that are not unbound.
-        */
-       struct list_head unbound_list;
-
        struct pagestash free_pages;
 
        /* Global GTT */
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
index b8b8a9ca1ac7..2d7af763b928 100644
--- a/drivers/gpu/drm/i915/i915_vma.c
+++ b/drivers/gpu/drm/i915/i915_vma.c
@@ -207,10 +207,6 @@ vma_create(struct drm_i915_gem_object *obj,
 
        spin_unlock(&obj->vma.lock);
 
-       mutex_lock(&vm->mutex);
-       list_add(&vma->vm_link, &vm->unbound_list);
-       mutex_unlock(&vm->mutex);
-
        return vma;
 
 err_vma:
@@ -648,7 +644,7 @@ i915_vma_insert(struct i915_vma *vma, u64 size, u64 
alignment, u64 flags)
        GEM_BUG_ON(!i915_gem_valid_gtt_space(vma, cache_level));
 
        mutex_lock(&vma->vm->mutex);
-       list_move_tail(&vma->vm_link, &vma->vm->bound_list);
+       list_add_tail(&vma->vm_link, &vma->vm->bound_list);
        mutex_unlock(&vma->vm->mutex);
 
        if (vma->obj) {
@@ -676,7 +672,7 @@ i915_vma_remove(struct i915_vma *vma)
 
        mutex_lock(&vma->vm->mutex);
        drm_mm_remove_node(&vma->node);
-       list_move_tail(&vma->vm_link, &vma->vm->unbound_list);
+       list_del(&vma->vm_link);
        mutex_unlock(&vma->vm->mutex);
 
        /*
@@ -789,10 +785,6 @@ static void __i915_vma_destroy(struct i915_vma *vma)
        GEM_BUG_ON(vma->node.allocated);
        GEM_BUG_ON(vma->fence);
 
-       mutex_lock(&vma->vm->mutex);
-       list_del(&vma->vm_link);
-       mutex_unlock(&vma->vm->mutex);
-
        if (vma->obj) {
                struct drm_i915_gem_object *obj = vma->obj;
 
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
index dda8b9c79c37..cb7193c9bc77 100644
--- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
@@ -1239,7 +1239,7 @@ static void track_vma_bind(struct i915_vma *vma)
        vma->pages = obj->mm.pages;
 
        mutex_lock(&vma->vm->mutex);
-       list_move_tail(&vma->vm_link, &vma->vm->bound_list);
+       list_add_tail(&vma->vm_link, &vma->vm->bound_list);
        mutex_unlock(&vma->vm->mutex);
 }
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to