From: Matt Roper <matthew.d.roper@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: matthew.d.roper@intel.com,
Michal Wajdeczko <michal.wajdeczko@intel.com>,
Ashutosh Dixit <ashutosh.dixit@intel.com>
Subject: [PATCH v2 0/4] Add debugfs facility to catch RTP mistakes
Date: Wed, 11 Feb 2026 15:34:12 -0800 [thread overview]
Message-ID: <20260211233411.614951-6-matthew.d.roper@intel.com> (raw)
Unlike i915, Xe doesn't currently do any readback verification of
workaround/tuning settings that it tries to program. If an entry gets
placed on the wrong table, or applied to the wrong platform/IP, the
programming may be silently ineffective without anyone noticing.
i915's solution of doing verification at application time was
problematic because raising warnings during probe would be treated by CI
as a fatal problem and would prevent CI from even attempting any other
testing until the issue was dealt with. Let's avoid that with Xe and
instead perform the verification on-demand when a debugfs entry is read.
This makes it very easy to do verification at various times during
manual debugging. It should also be simply to wrap a dedicated IGT test
around the debugfs entry such that any unexpected failures are reported
against that one test rather than bringing down the entire CI system.
Note that verification of LRC programming is a bit more complicated than
verification of GT/engine programming since we can't just blindly read
the register values from the CPU and expect the RTP values to be in
effect. Applying LRC progamming ensures that every GPU context created
should have the updated values in the LRC, and those values will get
loaded into the register when the hardware context switches to it.
However when no context is running on the hardware, the register values
may revert to their hardware defaults which do not have the programming
applied. Instead, we should verify LRC programming by parsing the
engine's 'default LRC' image and making sure the desired programming
appears somewhere in one of the MI_LOAD_REGISTER_IMM state emission
commands.
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Matt Roper (4):
drm/xe/reg_sr: Don't process gt/hwe lists in VF
drm/xe/reg_sr: Add debugfs to verify status of reg_sr programming
drm/xe: Add facility to lookup the value of a register in a default
LRC
drm/xe/reg_sr: Allow register_save_restore_check debugfs to verify LRC
values
drivers/gpu/drm/xe/xe_gt_debugfs.c | 26 ++++++++
drivers/gpu/drm/xe/xe_lrc.c | 96 ++++++++++++++++++++++++++++++
drivers/gpu/drm/xe/xe_lrc.h | 4 ++
drivers/gpu/drm/xe/xe_reg_sr.c | 71 +++++++++++++++++++++-
drivers/gpu/drm/xe/xe_reg_sr.h | 7 +++
drivers/gpu/drm/xe/xe_tuning.c | 7 +++
drivers/gpu/drm/xe/xe_wa.c | 6 ++
7 files changed, 215 insertions(+), 2 deletions(-)
--
2.53.0
next reply other threads:[~2026-02-11 23:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-11 23:34 Matt Roper [this message]
2026-02-11 23:34 ` [PATCH v2 1/4] drm/xe/reg_sr: Don't process gt/hwe lists in VF Matt Roper
2026-02-11 23:34 ` [PATCH v2 2/4] drm/xe/reg_sr: Add debugfs to verify status of reg_sr programming Matt Roper
2026-02-11 23:34 ` [PATCH v2 3/4] drm/xe: Add facility to lookup the value of a register in a default LRC Matt Roper
2026-02-11 23:34 ` [PATCH v2 4/4] drm/xe/reg_sr: Allow register_save_restore_check debugfs to verify LRC values Matt Roper
2026-02-12 0:23 ` ✓ CI.KUnit: success for Add debugfs facility to catch RTP mistakes Patchwork
2026-02-12 1:05 ` ✗ Xe.CI.BAT: 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=20260211233411.614951-6-matthew.d.roper@intel.com \
--to=matthew.d.roper@intel.com \
--cc=ashutosh.dixit@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=michal.wajdeczko@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox