mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
drm/xe: common function to assign queue name
The queue name assignment is identical in both GuC and execlists backends, so we can move it to a common function. This will make adding a new entry in the next patch slightly cleaner. Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Link: https://lore.kernel.org/r/20230817201831.1583172-2-daniele.ceraolospurio@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
a863b4163a
commit
0b1d1473b3
|
|
@ -177,6 +177,29 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
|
|||
kfree(q);
|
||||
}
|
||||
|
||||
void xe_exec_queue_assign_name(struct xe_exec_queue *q, u32 instance)
|
||||
{
|
||||
switch (q->class) {
|
||||
case XE_ENGINE_CLASS_RENDER:
|
||||
sprintf(q->name, "rcs%d", instance);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_VIDEO_DECODE:
|
||||
sprintf(q->name, "vcs%d", instance);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_VIDEO_ENHANCE:
|
||||
sprintf(q->name, "vecs%d", instance);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_COPY:
|
||||
sprintf(q->name, "bcs%d", instance);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_COMPUTE:
|
||||
sprintf(q->name, "ccs%d", instance);
|
||||
break;
|
||||
default:
|
||||
XE_WARN_ON(q->class);
|
||||
}
|
||||
}
|
||||
|
||||
struct xe_exec_queue *xe_exec_queue_lookup(struct xe_file *xef, u32 id)
|
||||
{
|
||||
struct xe_exec_queue *q;
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ struct xe_exec_queue *xe_exec_queue_create_class(struct xe_device *xe, struct xe
|
|||
|
||||
void xe_exec_queue_fini(struct xe_exec_queue *q);
|
||||
void xe_exec_queue_destroy(struct kref *ref);
|
||||
void xe_exec_queue_assign_name(struct xe_exec_queue *q, u32 instance);
|
||||
|
||||
struct xe_exec_queue *xe_exec_queue_lookup(struct xe_file *xef, u32 id);
|
||||
|
||||
|
|
|
|||
|
|
@ -350,25 +350,7 @@ static int execlist_exec_queue_init(struct xe_exec_queue *q)
|
|||
q->execlist = exl;
|
||||
q->entity = &exl->entity;
|
||||
|
||||
switch (q->class) {
|
||||
case XE_ENGINE_CLASS_RENDER:
|
||||
sprintf(q->name, "rcs%d", ffs(q->logical_mask) - 1);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_VIDEO_DECODE:
|
||||
sprintf(q->name, "vcs%d", ffs(q->logical_mask) - 1);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_VIDEO_ENHANCE:
|
||||
sprintf(q->name, "vecs%d", ffs(q->logical_mask) - 1);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_COPY:
|
||||
sprintf(q->name, "bcs%d", ffs(q->logical_mask) - 1);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_COMPUTE:
|
||||
sprintf(q->name, "ccs%d", ffs(q->logical_mask) - 1);
|
||||
break;
|
||||
default:
|
||||
XE_WARN_ON(q->class);
|
||||
}
|
||||
xe_exec_queue_assign_name(q, ffs(q->logical_mask) - 1);
|
||||
|
||||
return 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -1167,25 +1167,7 @@ static int guc_exec_queue_init(struct xe_exec_queue *q)
|
|||
|
||||
mutex_unlock(&guc->submission_state.lock);
|
||||
|
||||
switch (q->class) {
|
||||
case XE_ENGINE_CLASS_RENDER:
|
||||
sprintf(q->name, "rcs%d", q->guc->id);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_VIDEO_DECODE:
|
||||
sprintf(q->name, "vcs%d", q->guc->id);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_VIDEO_ENHANCE:
|
||||
sprintf(q->name, "vecs%d", q->guc->id);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_COPY:
|
||||
sprintf(q->name, "bcs%d", q->guc->id);
|
||||
break;
|
||||
case XE_ENGINE_CLASS_COMPUTE:
|
||||
sprintf(q->name, "ccs%d", q->guc->id);
|
||||
break;
|
||||
default:
|
||||
XE_WARN_ON(q->class);
|
||||
}
|
||||
xe_exec_queue_assign_name(q, q->guc->id);
|
||||
|
||||
trace_xe_exec_queue_create(q);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user