[igt-dev] [RFC PATCH v7 3/5] lib: ioctl_wrappers: check GET/SETPARAM ioctl and build active engine list

Andi Shyti andi.shyti at intel.com
Mon Feb 11 23:08:09 UTC 2019


The igt_require_gem_engine_list() is called whenever the test
wants to use the GET/SETPARAM ioctls.

The function checks whether the GET/SETPARAM are implemented in
the running kernel and stops the test in case these commands are
not supported.

At the first call it creates the current engine list as
implemented in the gem_init_engine_list() function.

Signed-off-by: Andi Shyti <andi.shyti at intel.com>
---
 lib/ioctl_wrappers.c | 7 +++++++
 lib/ioctl_wrappers.h | 1 +
 2 files changed, 8 insertions(+)

diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 404c2fbf9355..2d2a3033d961 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -53,6 +53,7 @@
 #include "intel_chipset.h"
 #include "intel_io.h"
 #include "igt_debugfs.h"
+#include "igt_gt.h"
 #include "igt_sysfs.h"
 #include "config.h"
 
@@ -1465,6 +1466,12 @@ void igt_require_gem(int fd)
 	igt_require_f(err == 0, "Unresponsive i915/GEM device\n");
 }
 
+void igt_require_gem_engine_list(int fd)
+{
+	igt_require_intel(fd);
+	igt_require(!gem_init_engine_list(fd));
+}
+
 bool gem_has_ring(int fd, unsigned ring)
 {
 	struct drm_i915_gem_execbuffer2 execbuf;
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index b22b36b0b2dd..e0b54154f5c1 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -142,6 +142,7 @@ bool gem_bo_busy(int fd, uint32_t handle);
 
 /* feature test helpers */
 void igt_require_gem(int fd);
+void igt_require_gem_engine_list(int fd);
 bool gem_has_llc(int fd);
 bool gem_has_bsd(int fd);
 bool gem_has_blt(int fd);
-- 
2.20.1



More information about the igt-dev mailing list