Commit c3ead4ec authored by Matthew Brost's avatar Matthew Brost
Browse files

drm/xe: Explicitly mark migration queues with flag



Rather than inferring if an exec queue is a migration queue for a flag,
explicitly mark migration queues with a flag.

Signed-off-by: default avatarMatthew Brost <matthew.brost@intel.com>
Reviewed-by: default avatarFrancois Dugast <francois.dugast@intel.com>
Reviewed-by: default avatarStuart Summers <stuart.summers@intel.com>
Link: https://lore.kernel.org/r/20250724191216.4076566-2-matthew.brost@intel.com
parent d72779c2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -87,6 +87,8 @@ struct xe_exec_queue {
#define EXEC_QUEUE_FLAG_HIGH_PRIORITY		BIT(4)
/* flag to indicate low latency hint to guc */
#define EXEC_QUEUE_FLAG_LOW_LATENCY		BIT(5)
/* for migration (kernel copy, clear, bind) jobs */
#define EXEC_QUEUE_FLAG_MIGRATE			BIT(6)

	/**
	 * @flags: flags for this exec queue, should statically setup aside from ban
+4 −2
Original line number Diff line number Diff line
@@ -439,12 +439,14 @@ struct xe_migrate *xe_migrate_init(struct xe_tile *tile)
		m->q = xe_exec_queue_create(xe, vm, logical_mask, 1, hwe,
					    EXEC_QUEUE_FLAG_KERNEL |
					    EXEC_QUEUE_FLAG_PERMANENT |
					    EXEC_QUEUE_FLAG_HIGH_PRIORITY, 0);
					    EXEC_QUEUE_FLAG_HIGH_PRIORITY |
					    EXEC_QUEUE_FLAG_MIGRATE, 0);
	} else {
		m->q = xe_exec_queue_create_class(xe, primary_gt, vm,
						  XE_ENGINE_CLASS_COPY,
						  EXEC_QUEUE_FLAG_KERNEL |
						  EXEC_QUEUE_FLAG_PERMANENT, 0);
						  EXEC_QUEUE_FLAG_PERMANENT |
						  EXEC_QUEUE_FLAG_MIGRATE, 0);
	}
	if (IS_ERR(m->q)) {
		xe_vm_close_and_put(vm);