From: Nareshkumar Gollakoti <naresh.kumar.g@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: himal.prasad.ghimiray@intel.com,
Nareshkumar Gollakoti <naresh.kumar.g@intel.com>
Subject: [PATCH 0/6] drm/xe: Capture additional HW register state in devcoredump
Date: Thu, 13 Aug 2026 19:00:31 +0530 [thread overview]
Message-ID: <20260813133037.2912699-1-naresh.kumar.g@intel.com> (raw)
This series extends the Xe devcoredump with additional hardware register
state to improve post-mortem debugging of GPU hangs and faults on Xe3p.
Today the devcoredump captures GuC log/CT, engine and submission state.
When triaging hangs it is often necessary to also know the static HW
configuration (fuses), GuC status/error state, GAM page-fault reporting
and L3 node status at the time of the hang. Collecting these at capture
time makes the dump self-contained and avoids relying on separate
probe-time logging.
To do this, the series adds a small generic MMIO register-dump helper
(descriptor list -> snapshot -> print/free) and uses it for several
register groups. Each group is captured for both the primary GT and,
where applicable, the media GT, and is gated to Xe3p (GRAPHICS_VER >= 35).
Registers requiring MCR steering are read through
xe_gt_mcr_unicast_read_any(); the remaining GAM registers use INSTANCE0
default steering and are read directly.
Snapshots are allocated with GFP_ATOMIC as capture runs inside the
dma_fence signalling section, matching the surrounding captures, and are
freed in the existing devcoredump teardown path.
Patches:
1 Add the generic reg-dump helpers and capture GT/media fuse registers.
2 Capture GT and media GuC status/error registers.
3 Print register offsets alongside names in the GuC engine capture
output (32- and 64-bit), easing cross-reference with the bspec.
4 Capture the GAM page-fault report head/tail registers.
5 Add the TDL gfx registers to the XeHPG extended GuC capture list.
6 Capture L3 node status registers (MCR, read via unicast_read_any()).
Sample devcoredump output gains the following sections:
**** GT Fuse Register Dump ****
**** Media GT Fuse Register Dump ****
**** GT GuC Register Dump ****
**** Media GT GuC Register Dump ****
**** GAM PF Report ****
**** Node Status ****
Nareshkumar Gollakoti (6):
drm/xe/devcoredump: Capture GT fuse registers in devcoredump
drm/xe/devcoredump: Add GuC register snapshot to devcoredump
drm/xe/guc: Print register addresses in capture snapshot output
drm/xe: dump GAM page fault report registers in devcoredump
drm/xe/guc: add TDL gfx registers to capture list
drm/xe: capture L3 node status registers in devcoredump
drivers/gpu/drm/xe/regs/xe_gt_regs.h | 17 ++
drivers/gpu/drm/xe/regs/xe_guc_regs.h | 13 ++
drivers/gpu/drm/xe/xe_devcoredump.c | 266 ++++++++++++++++++++++
drivers/gpu/drm/xe/xe_devcoredump_types.h | 45 ++++
drivers/gpu/drm/xe/xe_device.h | 5 +
drivers/gpu/drm/xe/xe_guc_capture.c | 15 +-
6 files changed, 356 insertions(+), 5 deletions(-)
--
2.43.0
next reply other threads:[~2026-08-13 13:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-13 13:30 Nareshkumar Gollakoti [this message]
2026-08-13 13:30 ` [PATCH 1/6] drm/xe/devcoredump: Capture GT fuse registers in devcoredump Nareshkumar Gollakoti
2026-08-13 13:52 ` sashiko-bot
2026-08-13 13:30 ` [PATCH 2/6] drm/xe/devcoredump: Add GuC register snapshot to devcoredump Nareshkumar Gollakoti
2026-08-13 14:04 ` sashiko-bot
2026-08-13 13:30 ` [PATCH 3/6] drm/xe/guc: Print register addresses in capture snapshot output Nareshkumar Gollakoti
2026-08-13 14:11 ` sashiko-bot
2026-08-13 13:30 ` [PATCH 4/6] drm/xe: dump GAM page fault report registers in devcoredump Nareshkumar Gollakoti
2026-08-13 13:30 ` [PATCH 5/6] drm/xe/guc: add TDL gfx registers to capture list Nareshkumar Gollakoti
2026-08-13 14:25 ` sashiko-bot
2026-08-13 13:30 ` [PATCH 6/6] drm/xe: capture L3 node status registers in devcoredump Nareshkumar Gollakoti
2026-08-13 14:37 ` sashiko-bot
2026-08-13 13:39 ` ✓ CI.KUnit: success for drm/xe: Capture additional HW register state " Patchwork
2026-08-13 14:27 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-13 15:58 ` ✗ Xe.CI.FULL: failure " 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=20260813133037.2912699-1-naresh.kumar.g@intel.com \
--to=naresh.kumar.g@intel.com \
--cc=himal.prasad.ghimiray@intel.com \
--cc=intel-xe@lists.freedesktop.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox