[igt-dev] [Intel-gfx] [PATCH i-g-t] i915/gem_ctx_isolation: Bump support for Tigerlake

Chris Wilson chris at chris-wilson.co.uk
Fri Oct 4 08:16:38 UTC 2019


Quoting Stimson, Dale B (2019-10-04 00:26:24)
> > On Wed, Oct 02, 2019 at 12:26:48PM +0100, Chris Wilson wrote:
> > > There's very little variation in non-privileged registers for Tigerlake,
> > > so we can mostly inherit the set from gen11. There is no whitelist at
> > > present, so we do not need to add any special registers.
> > > 
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111599
> > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > ---
> > >  tests/i915/gem_ctx_isolation.c | 11 ++++++-----
> > >  1 file changed, 6 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> > > index df1d655ae..819daafc3 100644
> > > --- a/tests/i915/gem_ctx_isolation.c
> > > +++ b/tests/i915/gem_ctx_isolation.c
> > > @@ -55,10 +55,11 @@ enum {
> > >  #define GEN9 (ALL << 9)
> > >  #define GEN10 (ALL << 10)
> > >  #define GEN11 (ALL << 11)
> > > +#define GEN12 (ALL << 12)
> > >  
> > >  #define NOCTX 0
> > >  
> > > -#define LAST_KNOWN_GEN 11
> > > +#define LAST_KNOWN_GEN 12
> > >  
> > >  static const struct named_register {
> > >     const char *name;
> > > @@ -116,9 +117,9 @@ static const struct named_register {
> > >     { "Cache_Mode_0", GEN7, RCS0, 0x7000, .masked = true },
> > >     { "Cache_Mode_1", GEN7, RCS0, 0x7004, .masked = true },
> > >     { "GT_MODE", GEN8, RCS0, 0x7008, .masked = true },
> > > -   { "L3_Config", GEN8, RCS0, 0x7034 },
> > > -   { "TD_CTL", GEN8, RCS0, 0xe400, .write_mask = 0xffff },
> > > -   { "TD_CTL2", GEN8, RCS0, 0xe404 },
> > > +   { "L3_Config", GEN_RANGE(8, 11), RCS0, 0x7034 },
> > > +   { "TD_CTL", GEN_RANGE(8, 11), RCS0, 0xe400, .write_mask = 0xffff },
> > > +   { "TD_CTL2", GEN_RANGE(8, 11), RCS0, 0xe404 },
> > >     { "SO_NUM_PRIMS_WRITTEN0", GEN6, RCS0, 0x5200, 2 },
> > >     { "SO_NUM_PRIMS_WRITTEN1", GEN6, RCS0, 0x5208, 2 },
> > >     { "SO_NUM_PRIMS_WRITTEN2", GEN6, RCS0, 0x5210, 2 },
> > > @@ -852,7 +853,7 @@ igt_main
> > >             gen = intel_gen(intel_get_drm_devid(fd));
> > >  
> > >             igt_warn_on_f(gen > LAST_KNOWN_GEN,
> > > -                                     "GEN not recognized! Test needs to be updated to run.");
> > > +                         "GEN not recognized! Test needs to be updated to run.");
> > >             igt_skip_on(gen > LAST_KNOWN_GEN);
> 
> On 2019-10-02 14:38:31, Petri Latvala wrote:
> > Thanks to this editorial change, we're able to see that this string is
> > missing a newline character.
> 
> Your patch looks good (as does Petri's comment).
> 
> I had identified the same registers as in the patch, but had one additional
> register.  Should it be included?
> 
> +       { "COMMON_SLICE_CHICKEN2", GEN_RANGE(12, 12), RCS0, 0x7014, .masked = true },
> 
> I did some testing on a TGL with your patch.  There are two pre-existing
> issues, both of which I have encountered before.  These are that the S3/S4 test
> never wakes up, and errors reported by nonpriv for vcs'2 registers.  See below.
> 
> Because of the S3/S4 issues, running gem_ctx_isolation for Gen12 will require
> subsequent reboot.  Should gem_ctx_isolation temporarily disable the S3/S4
> tests for Gen12 until this problem is resolved?

No. Fix the problem; it's to do with the interrupts being fubar.

> I have been doing some work to address the vcs issue, which I will send
> to the mailing list soon.  The vcs issue is due to confusion between the
> physical engine really being vcs'2, and the kernel presenting the engine to
> usermode as vcs1.  The test refers to the vcs'2 registers via the mmio_base
> expected for vcs1 and therefore fails.  Planned solution: "MMIO Remapping"
> for ICL and later.

Or see the patches to expose the mmio_base. If push comes to shove, it's
already given in debugfs for precisely this purpose.
-Chris


More information about the igt-dev mailing list