[PATCH] drm/xe/debugfs: Add node to dump guc log to dmesg

Teres Alexis, Alan Previn alan.previn.teres.alexis at intel.com
Fri Jan 31 18:41:47 UTC 2025


Reviewed-by: Alan Previn <alan.previn.teres.alexis at intel.com>

On Fri, 2025-01-31 at 09:17 -0800, Lucas De Marchi wrote:
> Currently xe_guc_log_print_dmesg() is unused, as it's expected
> developers to add those calls when needed. However it makes it hard to
> guarantee it's working as nothing is testing it. Add a node in debugfs
> so it can be tested. This is purely for testing purposes since with the
> device probed and working, the guc log can be obtained by the regular
> debugfs file.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_guc_debugfs.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc_debugfs.c b/drivers/gpu/drm/xe/xe_guc_debugfs.c
> index 0aff1d462bc01..c569ff456e741 100644
> --- a/drivers/gpu/drm/xe/xe_guc_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_guc_debugfs.c
> @@ -48,6 +48,18 @@ static int guc_log(struct seq_file *m, void *data)
>         return 0;
>  }
>  
> +static int guc_log_dmesg(struct seq_file *m, void *data)
> +{
> +       struct xe_guc *guc = node_to_guc(m->private);
> +       struct xe_device *xe = guc_to_xe(guc);
> +
> +       xe_pm_runtime_get(xe);
> +       xe_guc_log_print_dmesg(&guc->log);
> +       xe_pm_runtime_put(xe);
> +
> +       return 0;
> +}
> +
>  static int guc_ctb(struct seq_file *m, void *data)
>  {
>         struct xe_guc *guc = node_to_guc(m->private);
> @@ -77,6 +89,7 @@ static int guc_pc(struct seq_file *m, void *data)
>  static const struct drm_info_list debugfs_list[] = {
>         {"guc_info", guc_info, 0},
>         {"guc_log", guc_log, 0},
> +       {"guc_log_dmesg", guc_log_dmesg, 0},
>         {"guc_ctb", guc_ctb, 0},
>         {"guc_pc", guc_pc, 0},
>  };



More information about the Intel-xe mailing list