[igt-dev] [PATCH i-g-t] lib/pm_rpm: Reload the module with full mmio debugging

Imre Deak imre.deak at intel.com
Tue Sep 4 14:50:08 UTC 2018


On Tue, Sep 04, 2018 at 03:21:09PM +0100, Chris Wilson wrote:
> Quoting Imre Deak (2018-09-04 15:14:06)
> > On Tue, Sep 04, 2018 at 11:20:04AM +0100, Chris Wilson wrote:
> > > Our unclaimed mmio access debugging is lazy, doing cheap checks
> > > periodically and only if they fail do a full check around every mmio
> > > access. When testing for runtime pm, enable the full mmio debugging from
> > > the initial load.
> > > 
> > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > > Cc: Imre Deak <imre.deak at intel.com>
> > > ---
> > >  tests/pm_rpm.c | 7 +++++--
> > >  1 file changed, 5 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
> > > index e3bb6227a..91aef0889 100644
> > > --- a/tests/pm_rpm.c
> > > +++ b/tests/pm_rpm.c
> > > @@ -2058,7 +2058,7 @@ int main(int argc, char *argv[])
> > >       igt_subtest("module-reload") {
> > >               igt_debug("Reload w/o display\n");
> > >               igt_i915_driver_unload();
> > > -             igt_assert_eq(igt_i915_driver_load("disable_display=1"), 0);
> > > +             igt_assert_eq(igt_i915_driver_load("disable_display=1 mmio_debug=2147483647"), 0);
> > >  
> > >               igt_assert(setup_environment());
> > >               igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
> > > @@ -2066,13 +2066,16 @@ int main(int argc, char *argv[])
> > >  
> > >               igt_debug("Reload as normal\n");
> > >               igt_i915_driver_unload();
> > > -             igt_assert_eq(igt_i915_driver_load(NULL), 0);
> > > +             igt_assert_eq(igt_i915_driver_load("mmio_debug=2147483647"), 0);
> > 
> > Could've been in hex.
> -1 should work as well as INT_MAX, I was just a bit dubious about that
> claim at the time. But the kernel looks to be happy enough to start
> counting down from -1.
> 
> > >               igt_assert(setup_environment());
> > >               igt_assert(igt_wait(device_in_pci_d3(), 2000, 100));
> > >               if (enable_one_screen_with_type(&ms_data, SCREEN_TYPE_ANY))
> > >                       drm_resources_equal_subtest();
> > >               teardown_environment();
> > > +
> > > +             /* Remove our mmio_debugging module */
> > > +             igt_i915_driver_unload();
> > 
> > What loads it again?
> 
> We automatically load it upon a failed drm_driver_open(). We have a list
> of modules to try and modprobe if we find no matching /dev/dri/* fd.

Ok, missed that. Looks ok:
Reviewed-by: Imre Deak <imre.deak at intel.com>

> -Chris


More information about the igt-dev mailing list