]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/amdgpu: remove vm sanity check from amdgpu_vm_make_compute
authorXiaogang Chen <xiaogang.chen@amd.com>
Mon, 19 Jun 2023 21:17:02 +0000 (16:17 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 30 Jun 2023 17:11:35 +0000 (13:11 -0400)
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 turns
a GPU VM into a compute VM. Remove vm clean checking at amdgpu_vm_make_compute.

Signed-off-by: Xiaogang Chen <xiaogang.chen@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index eff73c428b123c2beb0c8c3048d9ac5310c1232a..291977b93b1dfbde6dde4268434208cdf8ef8329 100644 (file)
@@ -2245,16 +2245,16 @@ int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm)
        if (r)
                return r;
 
-       /* Sanity checks */
-       if (!amdgpu_vm_pt_is_root_clean(adev, vm)) {
-               r = -EINVAL;
-               goto unreserve_bo;
-       }
-
        /* Check if PD needs to be reinitialized and do it before
         * changing any other state, in case it fails.
         */
        if (pte_support_ats != vm->pte_support_ats) {
+               /* Sanity checks */
+               if (!amdgpu_vm_pt_is_root_clean(adev, vm)) {
+                       r = -EINVAL;
+                       goto unreserve_bo;
+               }
+
                vm->pte_support_ats = pte_support_ats;
                r = amdgpu_vm_pt_clear(adev, vm, to_amdgpu_bo_vm(vm->root.bo),
                                       false);