All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arvind Yadav <arvind.yadav@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: rodrigo.vivi@intel.com, badal.nilawar@intel.com,
	michal.wajdeczko@intel.com, himal.prasad.ghimiray@intel.com,
	dnyaneshwar.bhadane@intel.com, mallesh.koujalagi@intel.com,
	matthew.brost@intel.com
Subject: [PATCH v4 4/4] drm/xe/gt: Report GT reset and power failures using SIGID
Date: Fri, 28 Aug 2026 15:28:03 +0530	[thread overview]
Message-ID: <20260828095803.2130312-5-arvind.yadav@intel.com> (raw)
In-Reply-To: <20260828095803.2130312-1-arvind.yadav@intel.com>

Route the GT reset failure log through the structured SIGID logging
helper.

Failure to clear GRDOM_FULL means the GT reset did not complete as
expected. Use the GT component, which maps to XE_SIGID_GT_TDR, and
pass the reset errno value to the helper.

Keep the lower-level GRDOM_FULL failure report because it records
the exact reset register wait that failed before the higher-level
reset failure is reported.

Also route GT suspend, resume and runtime power-flow failures through
the same helper.

These paths were already reported as GT errors. This change only adds
structured SIGID reporting and keeps the errno in the helper data.

Cc: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Suggested-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
Signed-off-by: Arvind Yadav <arvind.yadav@intel.com>
---
 drivers/gpu/drm/xe/xe_gt.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
index 6805e0d3bf21..58df31ecb825 100644
--- a/drivers/gpu/drm/xe/xe_gt.c
+++ b/drivers/gpu/drm/xe/xe_gt.c
@@ -824,8 +824,7 @@ static int do_gt_reset(struct xe_gt *gt)
 	xe_mmio_write32(&gt->mmio, GDRST, GRDOM_FULL);
 	err = xe_mmio_wait32(&gt->mmio, GDRST, GRDOM_FULL, 0, 5000, NULL, false);
 	if (err)
-		xe_gt_err(gt, "failed to clear GRDOM_FULL (%pe)\n",
-			  ERR_PTR(err));
+		xe_log_err(gt, GT, err, "failed to clear GRDOM_FULL\n");
 
 	xe_gsc_wa_14015076503(gt, false);
 
@@ -1013,13 +1012,13 @@ int xe_gt_suspend(struct xe_gt *gt)
 
 	CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
 	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) {
-		xe_gt_err(gt, "suspend failed (%pe)\n", ERR_PTR(-ETIMEDOUT));
+		xe_log_err(gt, GT, -ETIMEDOUT, "suspend failed\n");
 		return -ETIMEDOUT;
 	}
 
 	err = xe_uc_suspend(&gt->uc);
 	if (err) {
-		xe_gt_err(gt, "suspend failed (%pe)\n", ERR_PTR(err));
+		xe_log_err(gt, GT, err, "suspend failed\n");
 		return err;
 	}
 
@@ -1065,7 +1064,7 @@ int xe_gt_resume(struct xe_gt *gt)
 	xe_gt_dbg(gt, "resuming\n");
 	CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
 	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) {
-		xe_gt_err(gt, "resume failed (%pe)\n", ERR_PTR(-ETIMEDOUT));
+		xe_log_err(gt, GT, -ETIMEDOUT, "resume failed\n");
 		return -ETIMEDOUT;
 	}
 
@@ -1092,7 +1091,7 @@ int xe_gt_runtime_suspend(struct xe_gt *gt)
 
 	CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
 	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) {
-		xe_gt_err(gt, "runtime suspend failed (%pe)\n", ERR_PTR(-ETIMEDOUT));
+		xe_log_err(gt, GT, -ETIMEDOUT, "runtime suspend failed\n");
 		return -ETIMEDOUT;
 	}
 
@@ -1116,7 +1115,7 @@ int xe_gt_runtime_resume(struct xe_gt *gt)
 
 	CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
 	if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) {
-		xe_gt_err(gt, "runtime resume failed (%pe)\n", ERR_PTR(-ETIMEDOUT));
+		xe_log_err(gt, GT, -ETIMEDOUT, "runtime resume failed\n");
 		return -ETIMEDOUT;
 	}
 
-- 
2.43.0


  parent reply	other threads:[~2026-08-28  9:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-28  9:57 [PATCH v4 0/4] drm/xe: Report GT TDR and VM rebind faults using SIGID Arvind Yadav
2026-08-28  9:58 ` [PATCH v4 1/4] drm/xe/guc: Report reset-request failure " Arvind Yadav
2026-08-28 10:28   ` Michal Wajdeczko
2026-08-31  6:11     ` Yadav, Arvind
2026-08-28  9:58 ` [PATCH v4 2/4] drm/xe/guc: Report CGP protocol errors " Arvind Yadav
2026-08-28 10:37   ` Michal Wajdeczko
2026-08-31  5:38     ` Yadav, Arvind
2026-08-28  9:58 ` [PATCH v4 3/4] drm/xe/svm: Report terminal page-fault failures " Arvind Yadav
2026-08-28  9:58 ` Arvind Yadav [this message]
2026-08-28 14:18   ` [PATCH v4 4/4] drm/xe/gt: Report GT reset and power " Michal Wajdeczko
2026-08-31  5:10     ` Yadav, Arvind
2026-08-28 10:06 ` ✓ CI.KUnit: success for drm/xe: Report GT TDR and VM rebind faults using SIGID (rev4) Patchwork
2026-08-28 11:09 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-28 11:48 ` ✓ Xe.CI.FULL: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260828095803.2130312-5-arvind.yadav@intel.com \
    --to=arvind.yadav@intel.com \
    --cc=badal.nilawar@intel.com \
    --cc=dnyaneshwar.bhadane@intel.com \
    --cc=himal.prasad.ghimiray@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=mallesh.koujalagi@intel.com \
    --cc=matthew.brost@intel.com \
    --cc=michal.wajdeczko@intel.com \
    --cc=rodrigo.vivi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.