[igt-dev] [RFC v2 03/43] test/i915: gem_exec_capture: use the gem_engine_topology library

Ramalingam C
2019-06-21T10:01:02Z

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

Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
---
tests/i915/gem_exec_capture.c | 24 ++++++++++--------------
1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/tests/i915/gem_exec_capture.c b/tests/i915/gem_exec_capture.c
index 4457496d6d05..c0c3b88d5fa7 100644
--- a/tests/i915/gem_exec_capture.c
+++ b/tests/i915/gem_exec_capture.c
@@ -61,7 +61,8 @@ static void check_error_state(int dir, struct drm_i915_gem_exec_object2 *obj)
igt_assert(found);
}

-static void __capture1(int fd, int dir, unsigned ring, uint32_t target)
+static void __capture1(int fd, int dir, const struct intel_execution_engine2 *e,
+ uint32_t target)
{
const int gen = intel_gen(intel_get_drm_devid(fd));
struct drm_i915_gem_exec_object2 obj[4];
@@ -145,7 +146,7 @@ static void __capture1(int fd, int dir, unsigned ring, uint32_t target)
memset(&execbuf, 0, sizeof(execbuf));
execbuf.buffers_ptr = (uintptr_t)obj;
execbuf.buffer_count = ARRAY_SIZE(obj);
- execbuf.flags = ring;
+ execbuf.flags = e ? e->flags : 0;
if (gen > 3 && gen < 6)
execbuf.flags |= I915_EXEC_SECURE;

@@ -168,12 +169,12 @@ static void __capture1(int fd, int dir, unsigned ring, uint32_t target)
gem_close(fd, obj[SCRATCH].handle);
}

-static void capture(int fd, int dir, unsigned ring)
+static void capture(int fd, int dir, const struct intel_execution_engine2 *e)
{
uint32_t handle;

handle = gem_create(fd, 4096);
- __capture1(fd, dir, ring, handle);
+ __capture1(fd, dir, e, handle);
gem_close(fd, handle);
}

@@ -501,7 +502,7 @@ static void userptr(int fd, int dir)
igt_assert(posix_memalign(&ptr, 4096, 4096) == 0);
igt_require(__gem_userptr(fd, ptr, 4096, 0, 0, &handle) == 0);

- __capture1(fd, dir, 0, handle);
+ __capture1(fd, dir, NULL, handle);

gem_close(fd, handle);
free(ptr);
@@ -526,7 +527,7 @@ static size_t safer_strlen(const char *s)

igt_main
{
- const struct intel_execution_engine *e;
+ const struct intel_execution_engine2 *e;
igt_hang_t hang;
int fd = -1;
int dir = -1;
@@ -552,15 +553,10 @@ igt_main
igt_require(safer_strlen(igt_sysfs_get(dir, "error")) > 0);
}

- for (e = intel_execution_engines; e->name; e++) {
- /* default exec-id is purely symbolic */
- if (e->exec_id == 0)
- continue;
-
+ __for_each_physical_engine(fd, e) {
igt_subtest_f("capture-%s", e->name) {
- igt_require(gem_ring_has_physical_engine(fd, e->exec_id | e->flags));
- igt_require(gem_can_store_dword(fd, e->exec_id | e->flags));
- capture(fd, dir, e->exec_id | e->flags);
+ igt_require(gem_class_can_store_dword(fd, e->class));
+ capture(fd, dir, e);