On Wed, Apr 19, 2023 at 02:40:33PM -0700, Matt Atwood wrote:
> On Tue, Apr 18, 2023 at 03:04:45PM -0700, Radhakrishna Sripada wrote:
> > From: Madhumitha Tolakanahalli Pradeep 
> > <[email protected]>
> > 
> > Wa_22011802037 was being applied to all graphics_ver 11 & 12. This patch
> > updates the if statement to apply the W/A to right platforms and extends
> > it to MTL-M:A step.
> > 
> Bspec: 53509 
> > v1.1: Fix checkpatch warning.
> > v2: Change the check to reflect the wa at other palces(Lucas)
> s/palces/places.
> > 
> > Cc: Lucas De Marchi <[email protected]>
> > Cc: Umesh Nerlige Ramappa <[email protected]>
> With that.
> Reviewed-by: Matt Atwood <[email protected]>
> > Signed-off-by: Madhumitha Tolakanahalli Pradeep 
> > <[email protected]>
> > Signed-off-by: Radhakrishna Sripada <[email protected]>

It doesn't look like this patch is complete?  It's only changing one
condition for Wa_22011802037, even though there are several in the code.
>From a quick grep, you're still missing updates for at least
guc_ctl_wa_flags, execlists_reset_prepare, and __intel_engine_stop_cs.

Since this workaround is a complicated one that touches so many areas of
the code, and has a complex platform list, it's probably time to factor
the condition out into a needs_wa_22011802037() helper or something.


Matt

> > ---
> >  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c 
> > b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> > index 88e881b100cf..ee3e8352637f 100644
> > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
> > @@ -1629,16 +1629,16 @@ static void guc_reset_state(struct intel_context 
> > *ce, u32 head, bool scrub)
> >  
> >  static void guc_engine_reset_prepare(struct intel_engine_cs *engine)
> >  {
> > -   if (!IS_GRAPHICS_VER(engine->i915, 11, 12))
> > -           return;
> > -
> > -   intel_engine_stop_cs(engine);
> > -
> >     /*
> >      * Wa_22011802037: In addition to stopping the cs, we need
> >      * to wait for any pending mi force wakeups
> >      */
> > -   intel_engine_wait_for_pending_mi_fw(engine);
> > +   if (IS_MTL_GRAPHICS_STEP(engine->i915, M, STEP_A0, STEP_B0) ||
> > +       (GRAPHICS_VER(engine->i915) >= 11 &&
> > +        GRAPHICS_VER_FULL(engine->i915) < IP_VER(12, 70))) {
> > +           intel_engine_stop_cs(engine);
> > +           intel_engine_wait_for_pending_mi_fw(engine);
> > +   }
> >  }
> >  
> >  static void guc_reset_nop(struct intel_engine_cs *engine)
> > -- 
> > 2.34.1
> > 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation

Reply via email to