summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>2023-08-17 23:18:25 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-21 19:40:20 +0300
commit0b1d1473b355ff3a1447048db24822eb7016c1c2 (patch)
tree90c0b322520b0284e936aae6905c92602c544548 /drivers/gpu
parenta863b4163ab9d3f173aef0f1191a0c0b8ea41634 (diff)
downloadlinux-0b1d1473b355ff3a1447048db24822eb7016c1c2.tar.xz
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>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/xe/xe_exec_queue.c23
-rw-r--r--drivers/gpu/drm/xe/xe_exec_queue.h1
-rw-r--r--drivers/gpu/drm/xe/xe_execlist.c20
-rw-r--r--drivers/gpu/drm/xe/xe_guc_submit.c20
4 files changed, 26 insertions, 38 deletions
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 901c609a657e..c2adff770614 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -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;
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
index 94a6abee38a6..22499a2f522b 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
@@ -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);
diff --git a/drivers/gpu/drm/xe/xe_execlist.c b/drivers/gpu/drm/xe/xe_execlist.c
index 3b8be55fe19c..df91780d8b9f 100644
--- a/drivers/gpu/drm/xe/xe_execlist.c
+++ b/drivers/gpu/drm/xe/xe_execlist.c
@@ -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;
diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
index 8ecfe2b15e28..55c7b13d15ec 100644
--- a/drivers/gpu/drm/xe/xe_guc_submit.c
+++ b/drivers/gpu/drm/xe/xe_guc_submit.c
@@ -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);