drm/amdgpu: simplify bo_va list when vm bo update (v2)
authorJunwei Zhang <Jerry.Zhang@amd.com>
Thu, 19 Apr 2018 05:17:26 +0000 (13:17 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 May 2018 18:43:34 +0000 (13:43 -0500)
v2: fix compiling warning

Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index 8c34060e130fcf602923088f8959c814850a2d19..6a372ca11ee3103a6f4f1b703b2371dd3dfa82c3 100644 (file)
@@ -1509,6 +1509,7 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev,
        struct drm_mm_node *nodes;
        struct dma_fence *exclusive, **last_update;
        uint64_t flags;
+       uint32_t mem_type;
        int r;
 
        if (clear || !bo_va->base.bo) {
@@ -1561,19 +1562,16 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev,
        }
 
        spin_lock(&vm->status_lock);
-       if (bo && bo->tbo.resv == vm->root.base.bo->tbo.resv) {
-               unsigned mem_type = bo->tbo.mem.mem_type;
+       list_del_init(&bo_va->base.vm_status);
 
-               /* If the BO is not in its preferred location add it back to
-                * the evicted list so that it gets validated again on the
-                * next command submission.
-                */
-               list_del_init(&bo_va->base.vm_status);
-               if (!(bo->preferred_domains & amdgpu_mem_type_to_domain(mem_type)))
-                       list_add_tail(&bo_va->base.vm_status, &vm->evicted);
-       } else {
-               list_del_init(&bo_va->base.vm_status);
-       }
+       /* If the BO is not in its preferred location add it back to
+        * the evicted list so that it gets validated again on the
+        * next command submission.
+        */
+       mem_type = bo->tbo.mem.mem_type;
+       if (bo && bo->tbo.resv == vm->root.base.bo->tbo.resv &&
+           !(bo->preferred_domains & amdgpu_mem_type_to_domain(mem_type)))
+               list_add_tail(&bo_va->base.vm_status, &vm->evicted);
        spin_unlock(&vm->status_lock);
 
        list_splice_init(&bo_va->invalids, &bo_va->valids);