drm/xe: Use internal VM flags in xe_vm_create
authorMatthew Brost <matthew.brost@intel.com>
Mon, 10 Jul 2023 14:41:21 +0000 (07:41 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:35:17 +0000 (11:35 -0500)
xe_vm_create used the IOCTL create flags in a few places rather than the
internal VM flags and this just happened to work as these values
matched. This is risky (and incorrect) as the internal flag values are
free to change. Fix this and use the internal VM flag values.

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_vm.c

index bd143ac..a9cf62f 100644 (file)
@@ -1253,13 +1253,13 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags)
                vm->batch_invalidate_tlb = true;
        }
 
-       if (flags & DRM_XE_VM_CREATE_COMPUTE_MODE) {
+       if (flags & XE_VM_FLAG_COMPUTE_MODE) {
                INIT_WORK(&vm->preempt.rebind_work, preempt_rebind_work_func);
                vm->flags |= XE_VM_FLAG_COMPUTE_MODE;
                vm->batch_invalidate_tlb = false;
        }
 
-       if (flags & DRM_XE_VM_CREATE_ASYNC_BIND_OPS) {
+       if (flags & XE_VM_FLAG_ASYNC_BIND_OPS) {
                vm->async_ops.fence.context = dma_fence_context_alloc(1);
                vm->flags |= XE_VM_FLAG_ASYNC_BIND_OPS;
        }