[PATCH] drm/xe/xe2lpm: Add Wa_15015404425

Jani Nikula jani.nikula at linux.intel.com
Wed May 29 12:45:41 UTC 2024


On Wed, 29 May 2024, "Upadhyay, Tejas" <tejas.upadhyay at intel.com> wrote:
>> -----Original Message-----
>> From: Jani Nikula <jani.nikula at linux.intel.com>
>> Sent: Wednesday, May 29, 2024 1:06 PM
>> To: Upadhyay, Tejas <tejas.upadhyay at intel.com>; intel-
>> xe at lists.freedesktop.org
>> Cc: Upadhyay, Tejas <tejas.upadhyay at intel.com>
>> Subject: Re: [PATCH] drm/xe/xe2lpm: Add Wa_15015404425
>> 
>> On Fri, 24 May 2024, Tejas Upadhyay <tejas.upadhyay at intel.com> wrote:
>> > Wa_15015404425 applies to xe2_lpm all steppings
>> >
>> > Signed-off-by: Tejas Upadhyay <tejas.upadhyay at intel.com>
>> > ---
>> >  drivers/gpu/drm/xe/regs/xe_regs.h |  1 +
>> >  drivers/gpu/drm/xe/xe_mmio.c      | 18 ++++++++++++++++++
>> >  2 files changed, 19 insertions(+)
>> >
>> > diff --git a/drivers/gpu/drm/xe/regs/xe_regs.h
>> > b/drivers/gpu/drm/xe/regs/xe_regs.h
>> > index 722fb6dbb72e..07c8a23bd7c2 100644
>> > --- a/drivers/gpu/drm/xe/regs/xe_regs.h
>> > +++ b/drivers/gpu/drm/xe/regs/xe_regs.h
>> > @@ -42,6 +42,7 @@
>> >  #define STOLEN_RESERVED				XE_REG(0x1082c0)
>> >  #define   WOPCM_SIZE_MASK			REG_GENMASK64(9,
>> 7)
>> >
>> > +#define MEDIA_DUMMY_REG
>> 	XE_REG(0x138000)
>> >  #define MTL_RP_STATE_CAP			XE_REG(0x138000)
>> >
>> >  #define MTL_GT_RPE_FREQUENCY			XE_REG(0x13800c)
>> > diff --git a/drivers/gpu/drm/xe/xe_mmio.c
>> > b/drivers/gpu/drm/xe/xe_mmio.c index ff7a7cf99530..e1dc87078387
>> 100644
>> > --- a/drivers/gpu/drm/xe/xe_mmio.c
>> > +++ b/drivers/gpu/drm/xe/xe_mmio.c
>> > @@ -450,6 +450,21 @@ int xe_mmio_init(struct xe_device *xe)
>> >  	return devm_add_action_or_reset(xe->drm.dev, mmio_fini, xe);  }
>> >
>> > +static void mmio_flush_pending_writes(struct xe_gt *gt) {
>> > +	struct xe_device *xe = gt_to_xe(gt);
>> > +
>> > +	if (!(xe->info.platform == XE_LUNARLAKE))
>> > +		return;
>> > +
>> > +	if (xe_gt_is_media_type(gt) &&  MEDIA_VER(xe) == 20) {
>> > +		int itr = 4;
>> > +		/* 4 dummy writes */
>> > +		while (itr--)
>> 
>> If you need to do something N times, the paradigm loop is:
>> 
>> 	for (i = 0; i < N; i++)
>> 
>> and nobody has to pause to consider the loop condition.
>
> Thanks for comment. However I don't understand whats adding pause
> here, for() is also adding similar pause and variable.

Mental pause when reading the code. The for loop is so ubiquitous for
counting that you know it's correct. The while loop, less so.

BR,
Jani.


-- 
Jani Nikula, Intel


More information about the Intel-xe mailing list