Change-Id: I4373d50e243c20a9f7d00134406496de5f482c44
Signed-off-by: Chunming Zhou <david1.z...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 5c51815..3d2159e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -748,27 +748,25 @@ static int amdgpu_vm_update_level(struct amdgpu_device 
*adev,
 
        if (params.ib->length_dw == 0) {
                amdgpu_job_free(job);
-               return 0;
-       }
-
-       amdgpu_ring_pad_ib(ring, params.ib);
-       amdgpu_sync_resv(adev, &job->sync, parent->bo->tbo.resv,
-                        AMDGPU_FENCE_OWNER_VM);
-       if (shadow)
-               amdgpu_sync_resv(adev, &job->sync, shadow->tbo.resv,
+       } else {
+               amdgpu_ring_pad_ib(ring, params.ib);
+               amdgpu_sync_resv(adev, &job->sync, parent->bo->tbo.resv,
                                 AMDGPU_FENCE_OWNER_VM);
+               if (shadow)
+                       amdgpu_sync_resv(adev, &job->sync, shadow->tbo.resv,
+                                        AMDGPU_FENCE_OWNER_VM);
 
-       WARN_ON(params.ib->length_dw > ndw);
-       r = amdgpu_job_submit(job, ring, &vm->entity,
-                             AMDGPU_FENCE_OWNER_VM, &fence);
-       if (r)
-               goto error_free;
-
-       amdgpu_bo_fence(parent->bo, fence, true);
-       fence_put(vm->last_dir_update);
-       vm->last_dir_update = fence_get(fence);
-       fence_put(fence);
+               WARN_ON(params.ib->length_dw > ndw);
+               r = amdgpu_job_submit(job, ring, &vm->entity,
+                               AMDGPU_FENCE_OWNER_VM, &fence);
+               if (r)
+                       goto error_free;
 
+               amdgpu_bo_fence(parent->bo, fence, true);
+               fence_put(vm->last_dir_update);
+               vm->last_dir_update = fence_get(fence);
+               fence_put(fence);
+       }
        /*
         * Recurse into the subdirectories. This recursion is harmless because
         * we only have a maximum of 5 layers.
-- 
1.9.1

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

Reply via email to