On Tue, Feb 21, 2023 at 11:35:00PM -0800, Radhakrishna Sripada wrote:
> From: Andi Shyti <[email protected]>
> 
> In the view of multi-gt we want independent per gt debug files.
> 
> In debugfs create gt0/ gt1/ ... gtN/ for tile related files. In 4
> tiles, the debugfs would be structured as follows:
> 
> /sys/kernel/debug/dri
>                   └── 0
>                       ├── gt0
>                       │   ├── drpc
>                       │   ├── engines
>                       │   ├── forcewake
>                       │   ├── frequency
>                       │   └── rps_boost
>                       ├── gt1
>                       │   ├── drpc
>                       │   ├── engines
>                       │   ├── forcewake
>                       │   ├── frequency
>                       │   └── rps_boost
>                       ├── gt2
>                       │   ├── drpc
>                       │   ├── engines
>                       │   ├── forcewake
>                       │   ├── frequency
>                       │   └── rps_boost
>                       └─- gt3
>                       :   ├── drpc
>                       :   ├── engines
>                       :   ├── forcewake
>                           ├── frequency
>                           └── rps_boost
> 
> Cc: Tvrtko Ursulin <[email protected]>
> Signed-off-by: Andi Shyti <[email protected]>
> Signed-off-by: Radhakrishna Sripada <[email protected]>
> ---
>  drivers/gpu/drm/i915/gt/intel_gt_debugfs.c | 4 +++-
>  drivers/gpu/drm/i915/gt/uc/intel_guc.h     | 2 ++
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 5 ++++-
>  3 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_debugfs.c 
> b/drivers/gpu/drm/i915/gt/intel_gt_debugfs.c
> index 5fc2df01aa0d..4dc23b8d3aa2 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_debugfs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_debugfs.c
> @@ -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;
>  
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.h 
> b/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> index bb4dfe707a7d..e46aac1a41e6 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> @@ -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;
>       /**
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c 
> b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index 818e9e0e66a8..6eefbe6e3519 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -542,8 +542,11 @@ static int guc_log_relay_create(struct intel_guc_log 
> *log)
>        */
>       n_subbufs = 8;
>  
> +     if (!guc->dbgfs_node)
> +             return -ENOENT;

Is this patch incomplete?  It doesn't look like dbgfs_node ever gets
assigned, so this is always going to bail out early?


Matt

> +
>       guc_log_relay_chan = relay_open("guc_log",
> -                                     dev_priv->drm.primary->debugfs_root,
> +                                     guc->dbgfs_node,
>                                       subbuf_size, n_subbufs,
>                                       &relay_callbacks, dev_priv);
>       if (!guc_log_relay_chan) {
> -- 
> 2.34.1
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation

Reply via email to