This fixes sparse mappings (aka. partially resident textures).

Check the correct flags.
Since a recent refactor, the code works with uAPI flags (for
mapping buffer objects), and not PTE (page table entry) flags.

Fixes: 0fdf257286d7 ("drm/amdgpu: rework how PTE flags are generated v3")
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Christian König <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index e803d173e25b..1a8155bdce5e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -2091,7 +2091,7 @@ int amdgpu_vm_bo_clear_mappings(struct amdgpu_device 
*adev,
                struct amdgpu_bo *bo = before->bo_va->base.bo;
 
                amdgpu_vm_it_insert(before, &vm->va);
-               if (before->flags & AMDGPU_PTE_PRT_FLAG(adev))
+               if (before->flags & AMDGPU_VM_PAGE_PRT)
                        amdgpu_vm_prt_get(adev);
 
                if (amdgpu_vm_is_bo_always_valid(vm, bo) &&
@@ -2106,7 +2106,7 @@ int amdgpu_vm_bo_clear_mappings(struct amdgpu_device 
*adev,
                struct amdgpu_bo *bo = after->bo_va->base.bo;
 
                amdgpu_vm_it_insert(after, &vm->va);
-               if (after->flags & AMDGPU_PTE_PRT_FLAG(adev))
+               if (after->flags & AMDGPU_VM_PAGE_PRT)
                        amdgpu_vm_prt_get(adev);
 
                if (amdgpu_vm_is_bo_always_valid(vm, bo) &&
-- 
2.51.1

Reply via email to