]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Force EXEC_QUEUE_FLAG_KERNEL for kernel internal VMs
authorPiotr Piórkowski <piotr.piorkowski@intel.com>
Wed, 11 Feb 2026 17:14:41 +0000 (18:14 +0100)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 13 Feb 2026 12:16:36 +0000 (13:16 +0100)
VMs created without an associated xe_file originate from kernel
contexts and should use kernel exec queues. Ensure such VMs
create bind exec queues with EXEC_QUEUE_FLAG_KERNEL set.
Let's ensure bind exec queues created for kernel VMs are always
marked with EXEC_QUEUE_FLAG_KERNEL.

Signed-off-by: Piotr Piórkowski <piotr.piorkowski@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patch.msgid.link/20260211171441.3246686-1-piotr.piorkowski@intel.com
drivers/gpu/drm/xe/xe_vm.c

index e6cfa5dc7f62b946d35754385949a00393c30512..a46f11a71c3724f1a9c9d8d818bd2e0f3c3683e5 100644 (file)
@@ -1657,6 +1657,9 @@ struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags, struct xe_file *xef)
                        if (!vm->pt_root[id])
                                continue;
 
+                       if (!xef) /* Not from userspace */
+                               create_flags |= EXEC_QUEUE_FLAG_KERNEL;
+
                        q = xe_exec_queue_create_bind(xe, tile, vm, create_flags, 0);
                        if (IS_ERR(q)) {
                                err = PTR_ERR(q);