From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: Matt Roper <matthew.d.roper@intel.com>
Cc: <intel-xe@lists.freedesktop.org>,
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Subject: Re: [PATCH v2 09/10] drm/xe: Enable all FORCE_TO_NONPRIV registers
Date: Tue, 02 Jun 2026 16:58:57 -0700 [thread overview]
Message-ID: <87ldcw7av2.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <20260408-oa-whitelist-cleanup-v2-9-db4a06aae8b0@intel.com>
On Wed, 08 Apr 2026 16:43:08 -0700, Matt Roper wrote:
>
Hi Matt,
Wanted to pick up this patch, but doesn't look correct.
> Intel hardware supported by the Xe driver has 20 FORCE_TO_NONPRIV
> registers per engine. We've only been enabling use of the first 12 so
> far because the upper 8 registers are not contiguous with the first 12.
Well the nonpriv register offsets are as follows (in hex):
010 014 018 01C
1E0 1E4 1E8 1EC
4D0 4D4 4D8 4DC
4E0 4E4 4E8 4EC
4F0 4F4 4F8 4FC
So it is the upper 12 registers which are contiguous. And the lower 8
registers are not contiguous with the upper 12.
> Some upcoming changes are going to require more than 12 entries, so
> update the register definition to select the proper offset for all 20
> instances and allow them to all be used.
>
> Bspec: 60340
> Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
> ---
> drivers/gpu/drm/xe/regs/xe_engine_regs.h | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/regs/xe_engine_regs.h b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
> index 1b4a7e9a703d..d8f0915500ec 100644
> --- a/drivers/gpu/drm/xe/regs/xe_engine_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_engine_regs.h
> @@ -182,7 +182,10 @@
> #define RING_CTX_TIMESTAMP_UDW(base) XE_REG((base) + 0x3ac)
> #define CSBE_DEBUG_STATUS(base) XE_REG((base) + 0x3fc)
>
> -#define RING_FORCE_TO_NONPRIV(base, i) XE_REG(((base) + 0x4d0) + (i) * 4)
> +#define RING_FORCE_TO_NONPRIV(base, i) XE_REG((base) + \
> + _PICK_EVEN_2RANGES(i, 12, \
> + 0x4d0, 0x4d4, \
> + 0x010, 0x014))
Note that, from the nonpriv register offsets above, the lower 8 registers
are in *two* separate non-contiguous ranges. Therefore _PICK_EVEN_2RANGES()
does not work (if we are trying to include all 20 registers).
Thanks.
--
Ashutosh
> #define RING_FORCE_TO_NONPRIV_DENY REG_BIT(30)
> #define RING_FORCE_TO_NONPRIV_ACCESS_MASK REG_GENMASK(29, 28)
> #define RING_FORCE_TO_NONPRIV_ACCESS_RW REG_FIELD_PREP(RING_FORCE_TO_NONPRIV_ACCESS_MASK, 0)
> @@ -198,7 +201,7 @@
> #define RING_FORCE_TO_NONPRIV_MASK_VALID (RING_FORCE_TO_NONPRIV_RANGE_MASK | \
> RING_FORCE_TO_NONPRIV_ACCESS_MASK | \
> RING_FORCE_TO_NONPRIV_DENY)
> -#define RING_MAX_NONPRIV_SLOTS 12
> +#define RING_MAX_NONPRIV_SLOTS 20
>
> #define RING_EXECLIST_SQ_CONTENTS_LO(base) XE_REG((base) + 0x510)
> #define RING_EXECLIST_SQ_CONTENTS_HI(base) XE_REG((base) + 0x510 + 4)
>
> --
> 2.53.0
>
next prev parent reply other threads:[~2026-06-02 23:59 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-08 23:42 [PATCH v2 00/10] Start fixing OA whitelist mistakes Matt Roper
2026-04-08 23:43 ` [PATCH v2 01/10] drm/xe/oa: Stop whitelisting non-SAG MMIO_TRG registers on non-DG2 Matt Roper
2026-04-08 23:43 ` [PATCH v2 02/10] drm/xe/oa: Stop whitelisting OAG_OASTATUS Matt Roper
2026-04-08 23:43 ` [PATCH v2 03/10] drm/xe/oa: Stop whitelisting OAM registers on non Xe2/Xe3 Matt Roper
2026-04-08 23:43 ` [PATCH v2 04/10] drm/xe/oa: Stop whitelisting OAG registers after Xe3 Matt Roper
2026-04-08 23:43 ` [PATCH v2 05/10] drm/xe: Add WHITELIST_RO macro Matt Roper
2026-04-08 23:43 ` [PATCH v2 06/10] drm/xe/oa: Consolidate RTP entries for OAM whitelist Matt Roper
2026-04-08 23:43 ` [PATCH v2 07/10] drm/xe/oa: Consolidate RTP entries for OAG whitelist Matt Roper
2026-04-08 23:43 ` [PATCH v2 08/10] drm/xe/oa: Consolidate RTP entries for OA MERT Matt Roper
2026-04-08 23:43 ` [PATCH v2 09/10] drm/xe: Enable all FORCE_TO_NONPRIV registers Matt Roper
2026-06-02 23:58 ` Dixit, Ashutosh [this message]
2026-06-03 17:26 ` Matt Roper
2026-04-08 23:43 ` [PATCH v2 10/10] drm/xe/oa: Stop whitelisting OASTARTTRIG_COUNTER Matt Roper
2026-04-08 23:50 ` ✗ CI.checkpatch: warning for Start fixing OA whitelist mistakes (rev3) Patchwork
2026-04-08 23:51 ` ✗ CI.KUnit: failure " Patchwork
2026-04-09 20:49 ` ✗ CI.checkpatch: warning for Start fixing OA whitelist mistakes (rev4) Patchwork
2026-04-09 20:50 ` ✗ CI.KUnit: failure " Patchwork
2026-04-10 16:35 ` ✗ CI.checkpatch: warning for Start fixing OA whitelist mistakes (rev5) Patchwork
2026-04-10 16:37 ` ✓ CI.KUnit: success " Patchwork
2026-04-10 17:13 ` ✓ Xe.CI.BAT: " Patchwork
2026-04-11 4:30 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-04-14 4:25 ` [PATCH v2 00/10] Start fixing OA whitelist mistakes Dixit, Ashutosh
2026-04-14 14:11 ` Matt Roper
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=87ldcw7av2.wl-ashutosh.dixit@intel.com \
--to=ashutosh.dixit@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=matthew.d.roper@intel.com \
--cc=umesh.nerlige.ramappa@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.