[PATCH v2] drm/xe/guc: Fix GuC log/ct output via debugfs

Maciej Patelczyk maciej.patelczyk at intel.com
Thu Jan 9 09:23:50 UTC 2025


On 7.01.2025 19:10, Julia Filipchuk wrote:

> Change to disable asci85 GuC logging only when output to devcoredump (was temporarily
> disabled for all code paths).
>
> v2: Ignore only for devcoredump case (not dmsg output). (feedback by Lucas)
>
> Signed-off-by: Julia Filipchuk <julia.filipchuk at intel.com>

So for dmesg there will be a GuC Log.


> ---
>   drivers/gpu/drm/xe/xe_devcoredump.c | 8 +++++---
>   include/drm/drm_print.h             | 2 ++
>   2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
> index 6980304c8903..8e5d1f9866a7 100644
> --- a/drivers/gpu/drm/xe/xe_devcoredump.c
> +++ b/drivers/gpu/drm/xe/xe_devcoredump.c
> @@ -424,10 +424,12 @@ void xe_print_blob_ascii85(struct drm_printer *p, const char *prefix,
>   	 * Splitting blobs across multiple lines is not compatible with the mesa
>   	 * debug decoder tool. Note that even dropping the explicit '\n' below
>   	 * doesn't help because the GuC log is so big some underlying implementation
> -	 * still splits the lines at 512K characters. So just bail completely for
> -	 * the moment.
> +	 * still splits the lines at 512K characters.
> +	 *
> +	 * Only disable from devcoredump output.
>   	 */
> -	return;
> +	if (p->coredump)
> +		return;
>   
>   #define DMESG_MAX_LINE_LEN	800
>   #define MIN_SPACE		(ASCII85_BUFSZ + 2)		/* 85 + "\n\0" */
> diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h
> index f77fe1531cf8..f5ea7f38ba09 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -182,6 +182,7 @@ struct drm_printer {
>   		unsigned int counter;
>   	} line;
>   	enum drm_debug_category category;
> +	bool coredump;
>   };
>   
>   void __drm_printfn_coredump(struct drm_printer *p, struct va_format *vaf);
> @@ -335,6 +336,7 @@ drm_coredump_printer(struct drm_print_iterator *iter)
>   		.printfn = __drm_printfn_coredump,
>   		.puts = __drm_puts_coredump,
>   		.arg = iter,
> +		.coredump = true,
>   	};
>   
>   	/* Set the internal offset of the iterator to zero */

LGTM,

Acked-by: Maciej Patelczyk <maciej.patelczyk at intel.com>

Regards,

Maciej



More information about the Intel-xe mailing list