summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_exec_queue_types.h
diff options
context:
space:
mode:
authorMatthew Brost <matthew.brost@intel.com>2023-09-14 23:40:50 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-21 19:43:17 +0300
commitf3e9b1f43458746e7e0211dbe4289412e5c0d16a (patch)
tree940d985a2beae34e33f367c66075fde054ccb25a /drivers/gpu/drm/xe/xe_exec_queue_types.h
parentb21ae51dcf41ce12bb8e2a7c989863ee9d04ae4b (diff)
downloadlinux-f3e9b1f43458746e7e0211dbe4289412e5c0d16a.tar.xz
drm/xe: Remove async worker and rework sync binds
Async worker is gone. All jobs and memory allocations done in IOCTL to align with dma fencing rules. Async vs. sync now means when do bind operations complete relative to the IOCTL. Async completes when out-syncs signal while sync completes when the IOCTL returns. In-syncs and out-syncs are only allowed in async mode. If memory allocations fail in the job creation step the VM is killed. This is temporary, eventually a proper unwind will be done and VM will be usable. Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_exec_queue_types.h')
-rw-r--r--drivers/gpu/drm/xe/xe_exec_queue_types.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_exec_queue_types.h b/drivers/gpu/drm/xe/xe_exec_queue_types.h
index c4813944b017..4e382304010e 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue_types.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue_types.h
@@ -77,6 +77,8 @@ struct xe_exec_queue {
#define EXEC_QUEUE_FLAG_VM BIT(4)
/* child of VM queue for multi-tile VM jobs */
#define EXEC_QUEUE_FLAG_BIND_ENGINE_CHILD BIT(5)
+/* VM jobs for this queue are asynchronous */
+#define EXEC_QUEUE_FLAG_VM_ASYNC BIT(6)
/**
* @flags: flags for this exec queue, should statically setup aside from ban