[Intel-gfx] [PATCH 02/13] drm/i915/selftests: Add coverage of mocs registers
Chris Wilson
chris at chris-wilson.co.uk
Fri Oct 18 23:20:18 UTC 2019
Quoting Kumar Valsan, Prathap (2019-10-19 00:24:13)
> On Fri, Oct 18, 2019 at 11:14:39PM +0100, Chris Wilson wrote:
> > +static int check_l3cc_table(struct intel_engine_cs *engine,
> > + const struct drm_i915_mocs_table *table,
> > + const u32 *vaddr, int *offset)
> > +{
> > + u16 unused_value = table->table[I915_MOCS_PTE].l3cc_value;
> > + unsigned int i;
> > + u32 expect;
> > +
> > + if (1) { /* XXX skip MCR read back */
> > + *offset += table->n_entries / 2;
> > + return 0;
> > + }
>
> I think l3cc reset test is valid only from Gen12+. Before that since its
> loaded from the golden context, table stays the same between reset.
That doesn't affect the validity of actually checking that the values
don't change. The problem as I understand it is that they lie inside the
magic 0xb00 region that is broadcast across the slices and not
accessible from CS, see engine_wa_list_verify() and mcr_range. Sadly
using the GPU is the cleanest way to emulate userspace interaction with
the *GPU*.
-Chris
More information about the Intel-gfx
mailing list