mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 08:02:27 +02:00
drm/xe/multi_queue: Add multi queue information to guc_info dump
Dump multi queue specific information in the guc exec queue
dump.
v2: Move multi queue related fields inside the multi_queue
sub-structure (Matt Brost)
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patch.msgid.link/20251211010249.1647839-27-niranjana.vishwanathapura@intel.com
This commit is contained in:
parent
71e7d7e81d
commit
464a0bc023
|
|
@ -3100,6 +3100,11 @@ xe_guc_exec_queue_snapshot_capture(struct xe_exec_queue *q)
|
|||
if (snapshot->parallel_execution)
|
||||
guc_exec_queue_wq_snapshot_capture(q, snapshot);
|
||||
|
||||
if (xe_exec_queue_is_multi_queue(q)) {
|
||||
snapshot->multi_queue.valid = true;
|
||||
snapshot->multi_queue.primary = xe_exec_queue_multi_queue_primary(q)->guc->id;
|
||||
snapshot->multi_queue.pos = q->multi_queue.pos;
|
||||
}
|
||||
spin_lock(&sched->base.job_list_lock);
|
||||
snapshot->pending_list_size = list_count_nodes(&sched->base.pending_list);
|
||||
snapshot->pending_list = kmalloc_array(snapshot->pending_list_size,
|
||||
|
|
@ -3182,6 +3187,11 @@ xe_guc_exec_queue_snapshot_print(struct xe_guc_submit_exec_queue_snapshot *snaps
|
|||
if (snapshot->parallel_execution)
|
||||
guc_exec_queue_wq_snapshot_print(snapshot, p);
|
||||
|
||||
if (snapshot->multi_queue.valid) {
|
||||
drm_printf(p, "\tMulti queue primary GuC ID: %d\n", snapshot->multi_queue.primary);
|
||||
drm_printf(p, "\tMulti queue position: %d\n", snapshot->multi_queue.pos);
|
||||
}
|
||||
|
||||
for (i = 0; snapshot->pending_list && i < snapshot->pending_list_size;
|
||||
i++)
|
||||
drm_printf(p, "\tJob: seqno=%d, fence=%d, finished=%d\n",
|
||||
|
|
|
|||
|
|
@ -135,6 +135,19 @@ struct xe_guc_submit_exec_queue_snapshot {
|
|||
u32 wq[WQ_SIZE / sizeof(u32)];
|
||||
} parallel;
|
||||
|
||||
/** @multi_queue: snapshot of the multi queue information */
|
||||
struct {
|
||||
/**
|
||||
* @multi_queue.primary: GuC id of the primary exec queue
|
||||
* of the multi queue group.
|
||||
*/
|
||||
u32 primary;
|
||||
/** @multi_queue.pos: Position of the exec queue within the multi queue group */
|
||||
u8 pos;
|
||||
/** @valid: The exec queue is part of a multi queue group */
|
||||
bool valid;
|
||||
} multi_queue;
|
||||
|
||||
/** @pending_list_size: Size of the pending list snapshot array */
|
||||
int pending_list_size;
|
||||
/** @pending_list: snapshot of the pending list info */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user