[Intel-xe] [PATCH 2/2 v3] drm/xe: add gt tuning for indirect state
Matt Atwood
matthew.s.atwood at intel.com
Wed Sep 6 21:39:47 UTC 2023
On Thu, Aug 24, 2023 at 01:35:55PM -0700, Matt Roper wrote:
> On Wed, Aug 23, 2023 at 12:55:33PM -0700, Matt Atwood wrote:
> > Force indirect state sampler data to only be in the dynamic state pool,
> > which is more convienent for the UMD. Behavior change mirrors similar
> > change for i915 in commit 16fc9c08f0ec ("drm/i915: disable sampler
> > indirect state in bindless heap")
> >
> > v2: split out per engine tuning into separate patch, commit message
> > (Lucas)
> > v3: rebase
> >
> > Bspec: 46052
>
> These days there's no realy need to put bspec references for register
> pages on workarounds like this. Reviewers with bspec access can already
> lookup the register directly by name and/or offset, so this isn't
> helpful like it used to be in the old days.
ack.
>
> >
> > Signed-off-by: Matt Atwood <matthew.s.atwood at intel.com>
> > ---
> > drivers/gpu/drm/xe/regs/xe_gt_regs.h | 1 +
> > drivers/gpu/drm/xe/xe_tuning.c | 5 +++++
> > 2 files changed, 6 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/xe/regs/xe_gt_regs.h b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
> > index aa9d7fad41ee..d039e7afe466 100644
> > --- a/drivers/gpu/drm/xe/regs/xe_gt_regs.h
> > +++ b/drivers/gpu/drm/xe/regs/xe_gt_regs.h
> > @@ -298,6 +298,7 @@
> > #define ENABLE_SMALLPL REG_BIT(15)
> > #define SC_DISABLE_POWER_OPTIMIZATION_EBB REG_BIT(9)
> > #define SAMPLER_ENABLE_HEADLESS_MSG REG_BIT(5)
> > +#define INDIRECT_STATE_BASE_ADDR_OVERRIDE REG_BIT(0)
> >
> > #define HALF_SLICE_CHICKEN7 XE_REG_MCR(0xe194, XE_REG_OPTION_MASKED)
> > #define DG2_DISABLE_ROUND_ENABLE_ALLOW_FOR_SSLA REG_BIT(15)
> > diff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c
> > index 702cb41dab53..07ffda39e2e4 100644
> > --- a/drivers/gpu/drm/xe/xe_tuning.c
> > +++ b/drivers/gpu/drm/xe/xe_tuning.c
> > @@ -28,6 +28,11 @@ static const struct xe_rtp_entry_sr gt_tunings[] = {
> > };
> >
> > static const struct xe_rtp_entry_sr engine_tunings[] = {
> > + { XE_RTP_NAME("Tuning: Set Indirect State Override"),
> > + XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, XE_RTP_END_VERSION_UNDEFINED),
>
> This matches every single platform, so this rule isn't really doing any
> good as is.
>
> However this setting is already the hardware default on Xe2, so 1271
> would be a reasonable end version here.
ack.
>
> > + FUNC(xe_rtp_match_first_render_or_compute)),
>
> This register doesn't exist on platforms like PVC that don't have 3D
> functionality (and doesn't really make sense if there's no render). So
> we should probably apply this rule specifically on the render engine
> rather than "first render/compute."
ack.
>
>
> Matt
>
> > + XE_RTP_ACTIONS(SET(SAMPLER_MODE, INDIRECT_STATE_BASE_ADDR_OVERRIDE))
> > + },
> > {}
> > };
> >
> > --
> > 2.40.1
> >
>
> --
> Matt Roper
> Graphics Software Engineer
> Linux GPU Platform Enablement
> Intel Corporation
More information about the Intel-xe
mailing list