Quoting Tvrtko Ursulin (2019-05-22 17:31:41) > From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > > Engine enumerated test names have changed so fast-feedback.testlist needs > to be updated. However listing all engines there won't scale. So instead > add new tests cases which iterate all engines internally. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > --- > tests/i915/gem_busy.c | 17 +++++++++++--- > tests/i915/gem_exec_basic.c | 33 +++++++++++++++++++++++++++ > tests/intel-ci/fast-feedback.testlist | 33 ++++----------------------- > 3 files changed, 51 insertions(+), 32 deletions(-) > > diff --git a/tests/i915/gem_busy.c b/tests/i915/gem_busy.c > index 2872e7b7be62..1f2a89991b9b 100644 > --- a/tests/i915/gem_busy.c > +++ b/tests/i915/gem_busy.c > @@ -460,6 +460,14 @@ static void basic(int fd, const struct intel_execution_engine2 *e, unsigned flag > igt_spin_free(fd, spin); > } > > +static void all(int i915) > +{ > + const struct intel_execution_engine2 *e; > + > + __for_each_physical_engine(i915, e) > + basic(i915, e, false); > +} > + > igt_main > { > const struct intel_execution_engine2 *e; > @@ -477,11 +485,14 @@ igt_main > igt_fork_hang_detector(fd); > } > > + igt_subtest("busy-all") { > + gem_quiescent_gpu(fd); > + all(fd); > + } Lgtm. > + > __for_each_physical_engine(fd, e) { > igt_subtest_group { > - igt_subtest_f("%sbusy-%s", > - e->class == I915_ENGINE_CLASS_RENDER > - ? "basic-" : "", e->name) { > + igt_subtest_f("busy-%s", e->name) { > gem_quiescent_gpu(fd); > basic(fd, e, false); > } > diff --git a/tests/i915/gem_exec_basic.c b/tests/i915/gem_exec_basic.c > index 140cbdbc66a5..24e1cb5bdaa9 100644 > --- a/tests/i915/gem_exec_basic.c > +++ b/tests/i915/gem_exec_basic.c > @@ -114,6 +114,30 @@ static void gtt(int fd, uint64_t flags) > munmap(execbuf, 4096); > } > > +static void all(int i915) > +{ > + const struct intel_execution_engine2 *e; > + > + __for_each_physical_engine(i915, e) > + noop(i915, e->flags); > +} > + > +static void readonly_all(int i915) > +{ > + const struct intel_execution_engine2 *e; > + > + __for_each_physical_engine(i915, e) > + readonly(i915, e->flags); > +} > + > +static void gtt_all(int i915) > +{ > + const struct intel_execution_engine2 *e; > + > + __for_each_physical_engine(i915, e) > + gtt(i915, e->flags); > +} > + > igt_main > { > const struct intel_execution_engine2 *e; > @@ -126,6 +150,15 @@ igt_main > igt_fork_hang_detector(fd); > } > > + igt_subtest("all") > + all(fd); > + > + igt_subtest("readonly-all") > + readonly_all(fd); > + > + igt_subtest("gtt-all") > + gtt_all(fd); Ok. I'd say we only need all itself in BAT. Using readonly or gtt pointers for params only needs irregular testing and doesn't do much for verifying driver sanity. > + > __for_each_physical_engine(fd, e) { > igt_subtest_f("basic-%s", e->name) > noop(fd, e->flags); > diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist > index 40475b1ab361..03ac6dd1eee8 100644 > --- a/tests/intel-ci/fast-feedback.testlist > +++ b/tests/intel-ci/fast-feedback.testlist > @@ -5,7 +5,7 @@ igt@debugfs_test@read_all_entries > igt@gem_basic@bad-close > igt@gem_basic@create-close > igt@gem_basic@create-fd-close > -igt@gem_busy@basic-busy-default > +igt@gem_busy@busy-all > igt@gem_close_race@basic-process > igt@gem_close_race@basic-threads > igt@gem_cpu_reloc@basic > @@ -15,27 +15,9 @@ igt@gem_ctx_exec@basic > igt@gem_ctx_param@basic > igt@gem_ctx_param@basic-default > igt@gem_ctx_switch@basic-default > -igt@gem_exec_basic@basic-blt > -igt@gem_exec_basic@basic-bsd > -igt@gem_exec_basic@basic-bsd1 > -igt@gem_exec_basic@basic-bsd2 > -igt@gem_exec_basic@basic-default > -igt@gem_exec_basic@basic-render > -igt@gem_exec_basic@basic-vebox > -igt@gem_exec_basic@gtt-blt > -igt@gem_exec_basic@gtt-bsd > -igt@gem_exec_basic@gtt-bsd1 > -igt@gem_exec_basic@gtt-bsd2 > -igt@gem_exec_basic@gtt-default > -igt@gem_exec_basic@gtt-render > -igt@gem_exec_basic@gtt-vebox > -igt@gem_exec_basic@readonly-blt > -igt@gem_exec_basic@readonly-bsd > -igt@gem_exec_basic@readonly-bsd1 > -igt@gem_exec_basic@readonly-bsd2 > -igt@gem_exec_basic@readonly-default > -igt@gem_exec_basic@readonly-render > -igt@gem_exec_basic@readonly-vebox > +igt@gem_exec_basic@basic-all > +igt@gem_exec_basic@gtt-all > +igt@gem_exec_basic@readonly-all I'd vote for only basic-all > igt@gem_exec_create@basic > igt@gem_exec_fence@basic-busy-default > igt@gem_exec_fence@basic-wait-default > @@ -74,13 +56,6 @@ igt@gem_exec_reloc@basic-write-gtt-active > igt@gem_exec_reloc@basic-write-read-active > igt@gem_exec_reloc@basic-softpin > igt@gem_exec_store@basic-all > -igt@gem_exec_store@basic-blt > -igt@gem_exec_store@basic-bsd > -igt@gem_exec_store@basic-bsd1 > -igt@gem_exec_store@basic-bsd2 > -igt@gem_exec_store@basic-default > -igt@gem_exec_store@basic-render > -igt@gem_exec_store@basic-vebox > igt@gem_exec_suspend@basic > igt@gem_exec_suspend@basic-s3 > igt@gem_exec_suspend@basic-s4-devices Nevertheless, Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx