Message ID | 20190627122552.10255-1-tvrtko.ursulin@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [i-g-t] lib/i915: Use engine discovery in gem_test_engines | expand |
Quoting Tvrtko Ursulin (2019-06-27 13:25:52) > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > If request is to verify all engines work, use the new engine discovery API > so we can actually test all. > > There is a sporadic and mysterious, possibly memory corruption issue > surronding this area so lets see if this changes the pattern. While I do not think the purely on-stack parameters here are subject to memory corruption, nor should the validation path for the execbuf parameters be affected by suspend, if this makes the problem go away, I can be blissfully ignorant as to what was the actual cause. > It is easy to do in this function due it re-opening the driver and > throwing it away. So there are no concerns that the modified default > context can affect any other test. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > References: https://bugzilla.freedesktop.org/show_bug.cgi?id=110667 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris
diff --git a/lib/i915/gem_submission.c b/lib/i915/gem_submission.c index 2fd460d5ed2b..a8bb45c6ac8f 100644 --- a/lib/i915/gem_submission.c +++ b/lib/i915/gem_submission.c @@ -28,6 +28,8 @@ #include <i915_drm.h> +#include "i915/gem_engine_topology.h" + #include "igt_core.h" #include "igt_gt.h" #include "igt_sysfs.h" @@ -215,8 +217,10 @@ void gem_test_engine(int i915, unsigned int engine) gem_write(i915, obj.handle, 0, &bbe, sizeof(bbe)); if (engine == ALL_ENGINES) { - for_each_physical_engine(i915, engine) { - execbuf.flags = engine; + const struct intel_execution_engine2 *e2; + + __for_each_physical_engine(i915, e2) { + execbuf.flags = e2->flags; gem_execbuf(i915, &execbuf); } } else {