[igt-dev] [PATCH i-g-t 0/1] lib/rendercopy_gen9: Program platform specific MOCS index

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Aug 16 17:44:43 UTC 2021


On Mon, Aug 16, 2021 at 05:25:26PM +0000, Siddiqui, Ayaz A wrote:
> 
> 
> > -----Original Message-----
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > Sent: Monday, August 16, 2021 10:26 PM
> > To: Siddiqui, Ayaz A <ayaz.siddiqui at intel.com>
> > Cc: igt-dev at lists.freedesktop.org
> > Subject: Re: [igt-dev] [PATCH i-g-t 0/1] lib/rendercopy_gen9: Program
> > platform specific MOCS index
> > 
> > On Tue, Aug 03, 2021 at 04:39:33PM +0530, Ayaz A Siddiqui wrote:
> > > Since Gen12 onward PTE based catchability is not supported to changing
> > > PTE index to UC as safest  catchability.
> > 
> > That doesn't make any sense to me. Without a PTE MOCS setting all buffers
> > that have the potential of becoming scanout buffers will have to be UC,
> > which doesn't sound particularly great.
> Well  there is no PTE MOCS in gen12

Hmm. I don't see any statement to that effect in bspec.

> so if PTE MOCS index is being selected
> then It may be come L3_WB for one platform and UC for another platform.
> These tests are not doing cache flush to WB_L3 leads to data corruption.
> So if  WB_L3 is needed some test  then proper flush need to be added.

Why are we talking about L3 here? L3 has always been a bit of mess.
I think currently we're still setting L3==WB on some platforms the the
MOCS==PTE case, but we should probably change all those to say L3==UC
to avoid L3 evictions going to LLC despite having LLC==UC in the PTE.

IIRC last I looked at this BDW was the main problem child since it doesn't
seem to have a way to to say L3==UC+LLC==PTE. But SKL+ have the MOCS
table which can say that and thus should have no problems.

> > 
> > Also we do have the PTE MOCS index still programmed on gen12 AFAICS.
> Yes it may be the case, all those tests need to be corrected to use correct
> MOCS index.

Tests are the least of our worries. The real problem is actual
userspace: Mesa/media/etc.

> 
> Regards
> -Ayaz
> 
> > 
> > >
> > > Based on further need, we may move intel_get_uc_mocs() in some
> > common
> > > file, so that it can be useed for providing uc index for other modules also.
> > >
> > >
> > > Ayaz A Siddiqui (1):
> > >   lib/rendercopy_gen9: Program MOCS value based on platform
> > >
> > >  lib/rendercopy_gen9.c | 33 ++++++++++++++++++++++++++++++++-
> > >  1 file changed, 32 insertions(+), 1 deletion(-)
> > >
> > > --
> > > 2.26.2
> > 
> > --
> > Ville Syrjälä
> > Intel

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list