[PATCH v2 2/2] drm/xe: Add engine name to the engine reset and cat-err log

Matthew Brost matthew.brost at intel.com
Tue May 28 20:47:55 UTC 2024


On Mon, Apr 29, 2024 at 05:30:18PM +0200, Nirmoy Das wrote:
> Add engine name to the engine reset and cat error log
> which should be useful while debugging.
> 
> v2: Add logical mask and engine class(Matt)
>     Use xe_gt_{info|dbg} (Michal)
> 
> Cc: Matthew Brost <matthew.brost at intel.com>

Reviewed-by: Matthew Brost <matthew.brost at intel.com>

> Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Signed-off-by: Nirmoy Das <nirmoy.das at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_guc_submit.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index d274a139010b..72aefabebda4 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -1702,6 +1702,7 @@ int xe_guc_deregister_done_handler(struct xe_guc *guc, u32 *msg, u32 len)
>  
>  int xe_guc_exec_queue_reset_handler(struct xe_guc *guc, u32 *msg, u32 len)
>  {
> +	struct xe_gt *gt = guc_to_gt(guc);
>  	struct xe_device *xe = guc_to_xe(guc);
>  	struct xe_exec_queue *q;
>  	u32 guc_id = msg[0];
> @@ -1715,7 +1716,8 @@ int xe_guc_exec_queue_reset_handler(struct xe_guc *guc, u32 *msg, u32 len)
>  	if (unlikely(!q))
>  		return -EPROTO;
>  
> -	drm_info(&xe->drm, "Engine reset: guc_id=%d", guc_id);
> +	xe_gt_info(gt, "Engine reset: engine_class=%s, logical_mask: 0x%x, guc_id=%d",
> +		   xe_hw_engine_class_to_str(q->class), q->logical_mask, guc_id);
>  
>  	/* FIXME: Do error capture, most likely async */
>  
> @@ -1737,6 +1739,7 @@ int xe_guc_exec_queue_reset_handler(struct xe_guc *guc, u32 *msg, u32 len)
>  int xe_guc_exec_queue_memory_cat_error_handler(struct xe_guc *guc, u32 *msg,
>  					       u32 len)
>  {
> +	struct xe_gt *gt = guc_to_gt(guc);
>  	struct xe_device *xe = guc_to_xe(guc);
>  	struct xe_exec_queue *q;
>  	u32 guc_id = msg[0];
> @@ -1750,7 +1753,9 @@ int xe_guc_exec_queue_memory_cat_error_handler(struct xe_guc *guc, u32 *msg,
>  	if (unlikely(!q))
>  		return -EPROTO;
>  
> -	drm_dbg(&xe->drm, "Engine memory cat error: guc_id=%d", guc_id);
> +	xe_gt_dbg(gt, "Engine memory cat error: engine_class=%s, logical_mask: 0x%x, guc_id=%d",
> +		  xe_hw_engine_class_to_str(q->class), q->logical_mask, guc_id);
> +
>  	trace_xe_exec_queue_memory_cat_error(q);
>  
>  	/* Treat the same as engine reset */
> -- 
> 2.42.0
> 


More information about the Intel-xe mailing list