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

Chris Wilson chris at chris-wilson.co.uk
Tue Sep 4 14:21:09 UTC 2018


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.
-Chris


More information about the igt-dev mailing list