[igt-dev] [PATCH i-g-t] lib/i915: Use engine discovery in gem_test_engines

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Jun 27 12:25:52 UTC 2019


From: Tvrtko Ursulin <tvrtko.ursulin at 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.

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 at intel.com>
References: https://bugzilla.freedesktop.org/show_bug.cgi?id=110667
---
 lib/i915/gem_submission.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

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 {
-- 
2.20.1



More information about the igt-dev mailing list