[Intel-gfx] [PATCH] drm/i915/mtl: Apply Wa_14017073508 for MTL SoC Step

Matt Roper matthew.d.roper at intel.com
Thu Feb 23 21:13:16 UTC 2023


On Thu, Feb 23, 2023 at 03:20:28PM -0500, Rodrigo Vivi wrote:
> On Fri, Feb 24, 2023 at 12:11:40AM +0530, Badal Nilawar wrote:
> > Apply Wa_14017073508 for MTL SoC die A step instead of graphics step.
> > To get the SoC die stepping there is no direct interface so using
> > revid as revid 0 aligns with SoC die A step.
> > 
> > Bspec: 55420
> 
> This doesn't prove anything. It is just saying Die A0 with GT A0,
> die B0 with GT B0 and so on... Please help me to understand that
> better offline before we move forward...

The definition of the workaround doesn't say anything about SoC
steppings that I can see.  The workaround itself is tagged as being
being tied to Xe_LPM+ (i.e., the media IP), not to MTL as a platform and
not to the Xe_LPG graphics IP.  In relation to the media IP
specifically, the bounds are listed as needed from A0, fixed in B0.  So
unless there's a belief that the workaround itself is incorrect, I think
the bounds should be

        IS_MTL_MEDIA_STEP(i915, STEP_A0, STEP_B0)


Matt

> 
> > 
> > Fixes: 8f70f1ec587d ("drm/i915/mtl: Add Wa_14017073508 for SAMedia")
> > Signed-off-by: Badal Nilawar <badal.nilawar at intel.com>
> > ---
> >  drivers/gpu/drm/i915/gt/intel_gt_pm.c     | 4 ++--
> >  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c | 2 +-
> >  2 files changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> > index cef3d6f5c34e..4ba3c8c97ccc 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm.c
> > @@ -29,7 +29,7 @@
> >  static void mtl_media_busy(struct intel_gt *gt)
> >  {
> >  	/* Wa_14017073508: mtl */
> > -	if (IS_MTL_GRAPHICS_STEP(gt->i915, P, STEP_A0, STEP_B0) &&
> > +	if (IS_METEORLAKE(gt->i915) && INTEL_REVID(gt->i915) == 0 &&
> >  	    gt->type == GT_MEDIA)
> >  		snb_pcode_write_p(gt->uncore, PCODE_MBOX_GT_STATE,
> >  				  PCODE_MBOX_GT_STATE_MEDIA_BUSY,
> > @@ -39,7 +39,7 @@ static void mtl_media_busy(struct intel_gt *gt)
> >  static void mtl_media_idle(struct intel_gt *gt)
> >  {
> >  	/* Wa_14017073508: mtl */
> > -	if (IS_MTL_GRAPHICS_STEP(gt->i915, P, STEP_A0, STEP_B0) &&
> > +	if (IS_METEORLAKE(gt->i915) && INTEL_REVID(gt->i915) == 0 &&
> >  	    gt->type == GT_MEDIA)
> >  		snb_pcode_write_p(gt->uncore, PCODE_MBOX_GT_STATE,
> >  				  PCODE_MBOX_GT_STATE_MEDIA_NOT_BUSY,
> > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> > index fcf51614f9a4..7429c233ad45 100644
> > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_rc.c
> > @@ -19,7 +19,7 @@ static bool __guc_rc_supported(struct intel_guc *guc)
> >  	 * Do not enable gucrc to avoid additional interrupts which
> >  	 * may disrupt pcode wa.
> >  	 */
> > -	if (IS_MTL_GRAPHICS_STEP(gt->i915, P, STEP_A0, STEP_B0) &&
> > +	if (IS_METEORLAKE(gt->i915) && INTEL_REVID(gt->i915) == 0 &&
> >  	    gt->type == GT_MEDIA)
> >  		return false;
> >  
> > -- 
> > 2.25.1
> > 

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


More information about the Intel-gfx mailing list