Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > These tests are not intended to exercise runtime pm, but the device > going to sleep in the middle of these tests can significantly slow them > down as the GTT mmapping is torn down and must be rebuilt. This can be a > major nuisance if the device autosuspends many times a second. > > These tests differ from typical applications as they are not doing any > rendering or utilizing the display which would ordinarily keep the > device awake. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > --- > tests/i915/gem_fence_thrash.c | 17 +++++++++++++++++ > tests/i915/gem_mmap_gtt.c | 15 ++++++++++++++- > 2 files changed, 31 insertions(+), 1 deletion(-) > > diff --git a/tests/i915/gem_fence_thrash.c b/tests/i915/gem_fence_thrash.c > index 2d7fb2ff8..770e9cb98 100644 > --- a/tests/i915/gem_fence_thrash.c > +++ b/tests/i915/gem_fence_thrash.c > @@ -232,10 +232,27 @@ static int run_test(int threads_per_fence, void *f, int tiling, > return 0; > } > > +static int wakeref_open(int device) > +{ > + int dir, fd; > + > + dir = igt_debugfs_dir(device); > + fd = openat(dir, "i915_wakeref_user", O_RDONLY); I was seeking the corresponding debugfs entry. However it seems forcewake user takes the pm ref and you want to piggyback on that. also igt_assert(fd != -1) ? -Mika > + close(dir); > + > + return fd; > +} > + > igt_main > { > igt_skip_on_simulation(); > > + igt_fixture { > + int fd = drm_open_driver(DRIVER_INTEL); > + wakeref_open(fd); > + close(fd); > + } > + > igt_subtest("bo-write-verify-none") > igt_assert(run_test(0, bo_write_verify, I915_TILING_NONE, 80) == 0); > > diff --git a/tests/i915/gem_mmap_gtt.c b/tests/i915/gem_mmap_gtt.c > index 9a670f030..4b709f81e 100644 > --- a/tests/i915/gem_mmap_gtt.c > +++ b/tests/i915/gem_mmap_gtt.c > @@ -873,6 +873,17 @@ static int mmap_ioctl(int i915, struct drm_i915_gem_mmap_gtt *arg) > return err; > } > > +static int wakeref_open(int device) > +{ > + int dir, fd; > + > + dir = igt_debugfs_dir(device); > + fd = openat(dir, "i915_wakeref_user", O_RDONLY); > + close(dir); > + > + return fd; > +} > + > int fd; > > igt_main > @@ -880,8 +891,10 @@ igt_main > if (igt_run_in_simulation()) > OBJECT_SIZE = 1 * 1024 * 1024; > > - igt_fixture > + igt_fixture { > fd = drm_open_driver(DRIVER_INTEL); > + wakeref_open(fd); > + } > > igt_subtest("bad-object") { > uint32_t real_handle = gem_create(fd, 4096); > -- > 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx