summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_exec_queue.h
diff options
context:
space:
mode:
authorBrian Welty <brian.welty@intel.com>2024-01-10 20:32:51 +0300
committerMatthew Brost <matthew.brost@intel.com>2024-01-11 02:01:53 +0300
commit25ce7c5063b335808e1753ced5f0069981073f17 (patch)
tree8feaf090e4ecbbe3250549b03d50c504668a15e9 /drivers/gpu/drm/xe/xe_exec_queue.h
parent6ae24344e2e3e12e06f7b382af4bba2fd417b2ff (diff)
downloadlinux-25ce7c5063b335808e1753ced5f0069981073f17.tar.xz
drm/xe: Finish refactoring of exec_queue_create
Setting of exec_queue user extensions is moved from the end of the ioctl function earlier, into __xe_exec_queue_alloc(). This fixes bug in that the USM attributes for access counters were being applied too late, and effectively were ignored. However, in order to apply user extensions this early, we can no longer call q->ops functions. Instead, make it more efficient. The user extension functions can simply update the q->sched_props values and they will be applied by the backend during q->ops->init(). v2: minor changes for readability (Matt) Signed-off-by: Brian Welty <brian.welty@intel.com> Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_exec_queue.h')
-rw-r--r--drivers/gpu/drm/xe/xe_exec_queue.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
index d959cc4a1a82..02ce8d204622 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
@@ -16,7 +16,8 @@ struct xe_file;
struct xe_exec_queue *xe_exec_queue_create(struct xe_device *xe, struct xe_vm *vm,
u32 logical_mask, u16 width,
- struct xe_hw_engine *hw_engine, u32 flags);
+ struct xe_hw_engine *hw_engine, u32 flags,
+ u64 extensions);
struct xe_exec_queue *xe_exec_queue_create_class(struct xe_device *xe, struct xe_gt *gt,
struct xe_vm *vm,
enum xe_engine_class class, u32 flags);