On 2023-06-19 15:06, Xiaogang.Chen wrote:
From: Xiaogang Chen <xiaogang.chen@xxxxxxx>
Since we allow kfd and graphic operate on same GPU VM to have interoperation
between them GPU VM may have been used by graphic vm operations before kfd turn
a GFX VM into a compute VM. Remove vm clean checking at amdgpu_vm_make_compute.
Signed-off-by: Xiaogang Chen<Xiaogang.Chen@xxxxxxx>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index eff73c428b12..33f05297ab7e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -2246,7 +2246,7 @@ int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm)
return r;
/* Sanity checks */
- if (!amdgpu_vm_pt_is_root_clean(adev, vm)) {
+ if (pte_support_ats && !amdgpu_vm_pt_is_root_clean(adev, vm)) {
I think the correct condition here would be "pte_support_ats !=
vm->pte_support_ats", because that's what's used to reinitialize the
page table just below. I think it would be even cleaner if you moved
that check inside the "if (pte_support_ats != vm->pte_support_ats)"
block below.
Regards,
Felix
r = -EINVAL;
goto unreserve_bo;
}