Change-Id: I40ecf31ad4b51022a2c0c076ae45188b6e9d63de
Signed-off-by: Chunming Zhou <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index 8904ccf78fc9..affe64e42cef 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -1335,11 +1335,13 @@ void amdgpu_vm_get_entry(struct 
amdgpu_pte_update_params *p, uint64_t addr,
        *parent = NULL;
        *entry = &p->vm->root;
        while ((*entry)->entries) {
-               unsigned idx = addr >> amdgpu_vm_level_shift(p->adev, level--);
+               unsigned idx = addr >> amdgpu_vm_level_shift(p->adev, level);
 
-               idx %= amdgpu_bo_size((*entry)->base.bo) / 8;
+               idx %= amdgpu_vm_num_entries(p->adev, level);
                *parent = *entry;
                *entry = &(*entry)->entries[idx];
+               if (level)
+                       level--;
        }
 
        if (level != 0)
-- 
2.14.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to