[PATCH V2 1/3] drm/xe: Move enable host l2 VRAM post MCR init
Matt Roper
matthew.d.roper at intel.com
Wed Aug 14 19:23:45 UTC 2024
On Wed, Aug 14, 2024 at 11:34:21AM -0500, Lucas De Marchi wrote:
> On Wed, Aug 14, 2024 at 03:26:12PM GMT, Tejas Upadhyay wrote:
> > enable host l2 VRAM is reading MCR register thus
> > should be moved after MCR init is done.
>
> This commit message skips a lot of the details on what was discussed in
> the other thread. Let's improve it and for future please be more verbose
> in your commit messages. Suggestion:
>
> xe_gt_enable_host_l2_vram() is reading the XE2_GAMREQSTRM_CTRL register
> that is currently missing the MCR annotation. However, just adding the
> annotation doesn't work as this function is called before MCR handling
> is initialized in xe_gt_mcr_init().
>
> xe_gt_enable_host_l2_vram() is used to implement WA 16023588340 that
> needs to be done as early as possible during initialization in order
> to be effective since the MMIO writes impact it. In the failure
> scenario, driver would simply not be able to bind sucesfully.
>
> Moving xe_gt_enable_host_l2_vram() later, after MCR initialization is
> done, only incurs a few additional HW accesses, particularly when
> loading GuC for hwconfig. Binding/unbinding the driver 100 times in
> BMG still works so it should be ok to start handling the WA a little
> bit later. This is sufficient to allow adding the MCR annotation to
> XE2_GAMREQSTRM_CTRL.
>
> >
> > V2(Matt):
> > - Reword commit message
> > V1(Lucas):
> > - Reorder patch and reorder flow of L2 VRAM enable
> >
> > Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> > Signed-off-by: Tejas Upadhyay <tejas.upadhyay at intel.com>
>
> Matt Roper / Matthew Auld, do the paragraphs above capture
> correctly the discussion we had in the previous version?
Yeah, that expanded description looks good to me. With that,
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
Matt
>
> with that,
>
> // Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>
>
> thanks
> Lucas De Marchi
>
> > ---
> > drivers/gpu/drm/xe/xe_gt.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
> > index 58895ed22f6e..238c7d1053f0 100644
> > --- a/drivers/gpu/drm/xe/xe_gt.c
> > +++ b/drivers/gpu/drm/xe/xe_gt.c
> > @@ -557,7 +557,6 @@ int xe_gt_init_hwconfig(struct xe_gt *gt)
> >
> > xe_gt_mcr_init_early(gt);
> > xe_pat_init(gt);
> > - xe_gt_enable_host_l2_vram(gt);
> >
> > err = xe_uc_init(>->uc);
> > if (err)
> > @@ -569,6 +568,7 @@ int xe_gt_init_hwconfig(struct xe_gt *gt)
> >
> > xe_gt_topology_init(gt);
> > xe_gt_mcr_init(gt);
> > + xe_gt_enable_host_l2_vram(gt);
> >
> > out_fw:
> > xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
> > --
> > 2.25.1
> >
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list