]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/xe/debugfs: Correct printing of register whitelist ranges
authorMatt Roper <matthew.d.roper@intel.com>
Wed, 8 Apr 2026 22:27:44 +0000 (15:27 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 29 Apr 2026 15:28:24 +0000 (11:28 -0400)
commit03f2499c51dffce611b065b2894406beb9f2ebe0
tree2b121f9264508cfbf2c3a57bfdda91af9db465d5
parent9407936237c98104873550219efedc286f28bbe9
drm/xe/debugfs: Correct printing of register whitelist ranges

The register-save-restore debugfs prints whitelist entries as offset
ranges.  E.g.,

        REG[0x39319c-0x39319f]: allow read access

for a single dword-sized register.  However the GENMASK value used to
set the lower bits to '1' for the upper bound of the whitelist range
incorrectly included one more bit than it should have, causing the
whitelist ranges to sometimes appear twice as large as they really were.
For example,

        REG[0x6210-0x6217]: allow rw access

was also intended to be a single dword-sized register whitelist (with a
range 0x6210-0x6213) but was printed incorrectly as a qword-sized range
because one too many bits was flipped on.  Similar 'off by one' logic
was applied when printing 4-dword register ranges and 64-dword register
ranges as well.

Correct the GENMASK logic to print these ranges in debugfs correctly.
No impact outside of correcting the misleading debugfs output.

Fixes: d855d2246ea6 ("drm/xe: Print whitelist while applying")
Reviewed-by: Stuart Summers <stuart.summers@intel.com>
Link: https://patch.msgid.link/20260408-regsr_wl_range-v1-1-e9a28c8b4264@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
(cherry picked from commit 1a2a722ff96749734a5585dfe7f0bea7719caa8b)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_reg_whitelist.c