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

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 8ccc6a4..7f54502 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -1476,27 +1476,27 @@ static int amdgpu_vm_alloc_levels(struct amdgpu_device 
*adev,
                struct amdgpu_vm_pt *entry = &parent->entries[pt_idx];
                struct amdgpu_bo *pt;
 
-               if (entry->bo)
-                       continue;
-
-               r = amdgpu_bo_create(adev, amdgpu_vm_bo_size(adev, level),
-                                    AMDGPU_GPU_PAGE_SIZE, true,
-                                    AMDGPU_GEM_DOMAIN_VRAM,
-                                    AMDGPU_GEM_CREATE_NO_CPU_ACCESS |
-                                    AMDGPU_GEM_CREATE_SHADOW |
-                                    AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS |
-                                    AMDGPU_GEM_CREATE_VRAM_CLEARED,
-                                    NULL, resv, &pt);
-               if (r)
-                       return r;
+               if (!entry->bo) {
+                       r = amdgpu_bo_create(adev,
+                                            amdgpu_vm_bo_size(adev, level),
+                                            AMDGPU_GPU_PAGE_SIZE, true,
+                                            AMDGPU_GEM_DOMAIN_VRAM,
+                                            AMDGPU_GEM_CREATE_NO_CPU_ACCESS |
+                                            AMDGPU_GEM_CREATE_SHADOW |
+                                            AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS |
+                                            AMDGPU_GEM_CREATE_VRAM_CLEARED,
+                                            NULL, resv, &pt);
+                       if (r)
+                               return r;
 
-               /* Keep a reference to the root directory to avoid
-                * freeing them up in the wrong order.
-                */
-               pt->parent = amdgpu_bo_ref(vm->root.bo);
+                       /* Keep a reference to the root directory to avoid
+                       * freeing them up in the wrong order.
+                       */
+                       pt->parent = amdgpu_bo_ref(vm->root.bo);
 
-               entry->bo = pt;
-               entry->addr = 0;
+                       entry->bo = pt;
+                       entry->addr = 0;
+               }
 
                if (level < adev->vm_manager.num_level) {
                        r = amdgpu_vm_alloc_levels(adev, vm, entry, saddr,
-- 
1.9.1

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

Reply via email to