mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
drm/i915/gt: Create per-gt debugfs files
To support multi-GT configurations, we need to generate
independent debug files for each GT.
To achieve this create a separate directory for each GT under the
debugfs directory. For instance, in a system with two GTs, the
debugfs structure would look like this:
/sys/kernel/debug/dri
└── 0
├── gt0
│ ├── drpc
│ ├── engines
│ ├── forcewake
│ ├── frequency
│ └── rps_boost
└── gt1
: ├── drpc
: ├── engines
: ├── forcewake
├── frequency
└── rps_boost
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230318203616.183765-2-andi.shyti@linux.intel.com
This commit is contained in:
parent
02abecdeeb
commit
70b5ffb393
|
|
@ -83,11 +83,13 @@ static void gt_debugfs_register(struct intel_gt *gt, struct dentry *root)
|
|||
void intel_gt_debugfs_register(struct intel_gt *gt)
|
||||
{
|
||||
struct dentry *root;
|
||||
char gtname[4];
|
||||
|
||||
if (!gt->i915->drm.primary->debugfs_root)
|
||||
return;
|
||||
|
||||
root = debugfs_create_dir("gt", gt->i915->drm.primary->debugfs_root);
|
||||
snprintf(gtname, sizeof(gtname), "gt%u", gt->info.id);
|
||||
root = debugfs_create_dir(gtname, gt->i915->drm.primary->debugfs_root);
|
||||
if (IS_ERR(root))
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ struct intel_guc {
|
|||
/** @capture: the error-state-capture module's data and objects */
|
||||
struct intel_guc_state_capture *capture;
|
||||
|
||||
struct dentry *dbgfs_node;
|
||||
|
||||
/** @sched_engine: Global engine used to submit requests to GuC */
|
||||
struct i915_sched_engine *sched_engine;
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -542,8 +542,11 @@ static int guc_log_relay_create(struct intel_guc_log *log)
|
|||
*/
|
||||
n_subbufs = 8;
|
||||
|
||||
if (!guc->dbgfs_node)
|
||||
return -ENOENT;
|
||||
|
||||
guc_log_relay_chan = relay_open("guc_log",
|
||||
i915->drm.primary->debugfs_root,
|
||||
guc->dbgfs_node,
|
||||
subbuf_size, n_subbufs,
|
||||
&relay_callbacks, i915);
|
||||
if (!guc_log_relay_chan) {
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ void intel_uc_debugfs_register(struct intel_uc *uc, struct dentry *gt_root)
|
|||
if (IS_ERR(root))
|
||||
return;
|
||||
|
||||
uc->guc.dbgfs_node = root;
|
||||
|
||||
intel_gt_debugfs_register_files(root, files, ARRAY_SIZE(files), uc);
|
||||
|
||||
intel_guc_debugfs_register(&uc->guc, root);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user