drm/xe: Use DRM_GPUVM_RESV_PROTECTED for gpuvm
authorThomas Hellström <thomas.hellstrom@linux.intel.com>
Tue, 12 Dec 2023 10:01:44 +0000 (11:01 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:46:08 +0000 (11:46 -0500)
Use DRM_GPUVM_RESV_PROTECTED to use corse-grained locking for the
evict and external object list.
Since we are already holding the relevant RESV locks, for now at least,
we don't need the fine-grained locking.

Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231212100144.6833-3-thomas.hellstrom@linux.intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_vm.c

index 7a3b680d01a36ba06af2d936bbfe99702fbe65ea..0b9510595db076c683f7b4a11cf182e700bc6e7a 100644 (file)
@@ -1282,8 +1282,8 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
                goto err_no_resv;
        }
 
-       drm_gpuvm_init(&vm->gpuvm, "Xe VM", 0, &xe->drm, vm_resv_obj,
-                      0, vm->size, 0, 0, &gpuvm_ops);
+       drm_gpuvm_init(&vm->gpuvm, "Xe VM", DRM_GPUVM_RESV_PROTECTED, &xe->drm,
+                      vm_resv_obj, 0, vm->size, 0, 0, &gpuvm_ops);
 
        drm_gem_object_put(vm_resv_obj);