[igt-dev] [RFC v2 39/43] tests/prime_busy: use the gem_engine_topology library

Ramalingam C ramalingam.c at intel.com
Fri Jun 21 10:03:41 UTC 2019


Replace the legacy for_each_engine* defines with the ones
implemented in the gem_engine_topology library.

Signed-off-by: Ramalingam C <ramalingam.c at intel.com>
---
 tests/prime_busy.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/tests/prime_busy.c b/tests/prime_busy.c
index a82acbdbc27e..661da2a56688 100644
--- a/tests/prime_busy.c
+++ b/tests/prime_busy.c
@@ -24,6 +24,7 @@
 #include "igt.h"
 
 #include <sys/poll.h>
+#include <i915/gem_engine_topology.h>
 
 IGT_TEST_DESCRIPTION("Basic check of polling for prime fences.");
 
@@ -38,7 +39,8 @@ static bool prime_busy(struct pollfd *pfd, bool excl)
 #define HANG 0x4
 #define POLL 0x8
 
-static void busy(int fd, unsigned ring, unsigned flags)
+static void busy(int fd, const struct intel_execution_engine2 *e,
+		 unsigned flags)
 {
 	const int gen = intel_gen(intel_get_drm_devid(fd));
 	struct drm_i915_gem_exec_object2 obj[2];
@@ -57,7 +59,7 @@ static void busy(int fd, unsigned ring, unsigned flags)
 	memset(&execbuf, 0, sizeof(execbuf));
 	execbuf.buffers_ptr = (uintptr_t)obj;
 	execbuf.buffer_count = 2;
-	execbuf.flags = ring;
+	execbuf.flags = e->flags;
 	if (gen < 6)
 		execbuf.flags |= I915_EXEC_SECURE;
 
@@ -175,15 +177,15 @@ static void busy(int fd, unsigned ring, unsigned flags)
 }
 
 static void test_engine_mode(int fd,
-			     const struct intel_execution_engine *e,
+			     const struct intel_execution_engine2 *e,
 			     const char *name, unsigned int flags)
 {
 	igt_hang_t hang = {};
 
 	igt_subtest_group {
 		igt_fixture {
-			gem_require_ring(fd, e->exec_id | e->flags);
-			igt_require(gem_can_store_dword(fd, e->exec_id | e->flags));
+			gem_require_ring(fd, e->flags);
+			igt_require(gem_class_can_store_dword(fd, e->class));
 
 			if ((flags & HANG) == 0)
 			{
@@ -197,14 +199,14 @@ static void test_engine_mode(int fd,
 		}
 
 		igt_subtest_f("%s%s-%s",
-			      !e->exec_id && !(flags & HANG) ? "basic-" : "",
+			      !(flags & HANG) ? "basic-" : "",
 			      name, e->name)
-			busy(fd, e->exec_id | e->flags, flags);
+			busy(fd, e, flags);
 
 		igt_subtest_f("%swait-%s-%s",
-			      !e->exec_id && !(flags & HANG) ? "basic-" : "",
+			      !(flags & HANG) ? "basic-" : "",
 			      name, e->name)
-			busy(fd, e->exec_id | e->flags, flags | POLL);
+			busy(fd, e, flags | POLL);
 
 		igt_fixture {
 			if ((flags & HANG) == 0)
@@ -217,7 +219,7 @@ static void test_engine_mode(int fd,
 
 igt_main
 {
-	const struct intel_execution_engine *e;
+	const struct intel_execution_engine2 *e;
 	int fd = -1;
 
 	igt_fixture {
@@ -239,7 +241,7 @@ igt_main
 		igt_fixture
 			gem_require_mmap_wc(fd);
 
-		for (e = intel_execution_engines; e->name; e++) {
+		__for_each_static_engine(e) {
 			for (const struct mode *m = modes; m->name; m++)
 				test_engine_mode(fd, e, m->name, m->flags);
 		}
-- 
2.19.1



More information about the igt-dev mailing list