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

Nirmoy Das nirmoy.das at linux.intel.com
Wed May 29 09:00:13 UTC 2024


On 5/28/2024 10:49 PM, Matthew Brost wrote:
> On Tue, May 28, 2024 at 12:14:45PM +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>
> Sending to correct version:
> Reviewed-by: Matthew Brost <matthew.brost at intel.com>

Merged to drm-xe-next.

Thanks,

Nirmoy

>
>> 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 72aa2f91832c..e22bd6b09a74 100644
>> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
>> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
>> @@ -1681,6 +1681,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];
>> @@ -1694,7 +1695,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 */
>>   
>> @@ -1716,6 +1718,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];
>> @@ -1729,7 +1732,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