[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