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 bd143acbde0e1f8ac9e765a00d272ea0c20096df..a9cf62f7aac6b68e0bc9400b27cf2ebe77395bb3 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;
        }