Quoting Chris Wilson (2018-02-21 14:45:21) > diff --git a/tests/gem_sync.c b/tests/gem_sync.c > index d70515ea..788fafc3 100644 > --- a/tests/gem_sync.c > +++ b/tests/gem_sync.c > @@ -86,23 +86,9 @@ sync_ring(int fd, unsigned ring, int num_children, int timeout) > int num_engines = 0; > > if (ring == ~0u) { > - const struct intel_execution_engine *e; > - > - for (e = intel_execution_engines; e->name; e++) { > - if (e->exec_id == 0) > - continue; > - > - if (!gem_has_ring(fd, e->exec_id | e->flags)) > - continue; > - > - if (e->exec_id == I915_EXEC_BSD) { > - int is_bsd2 = e->flags != 0; > - if (gem_has_bsd2(fd) != is_bsd2) > - continue; > - } > - > - names[num_engines] = e->name; > - engines[num_engines++] = e->exec_id | e->flags; > + for_each_physical_engine(fd, ring) { > + names[num_engines] = e__->name; > + engines[num_engines++] = ring; > if (num_engines == ARRAY_SIZE(engines)) > break; > } > @@ -200,26 +186,9 @@ store_ring(int fd, unsigned ring, int num_children, int timeout) > int num_engines = 0; > > if (ring == ~0u) { > - const struct intel_execution_engine *e; > - > - for (e = intel_execution_engines; e->name; e++) { > - if (e->exec_id == 0) > - continue; > - > - if (!gem_has_ring(fd, e->exec_id | e->flags)) > - continue; > - > - if (!gem_can_store_dword(fd, e->exec_id | e->flags)) > - continue; > - > - if (e->exec_id == I915_EXEC_BSD) { > - int is_bsd2 = e->flags != 0; > - if (gem_has_bsd2(fd) != is_bsd2) > - continue; > - } > - > - names[num_engines] = e->name; > - engines[num_engines++] = e->exec_id | e->flags; > + for_each_physical_engine(fd, ring) { > + names[num_engines] = e__->name; > + engines[num_engines++] = ring; > if (num_engines == ARRAY_SIZE(engines)) > break; > } So I missed the stores inside gem_sync, which require gem_can_store_dword() protection. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx