summaryrefslogtreecommitdiff
path: root/tests/i915/gem_ctx_engines.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2021-01-06 08:41:27 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2021-01-06 08:52:52 +0000
commitf0ad1a564956d6796d9ff09182c48d78fb00eefe (patch)
tree758a69837f14c404b33dd4f6980a11cb434b2646 /tests/i915/gem_ctx_engines.c
parent96f1e41b22c3aeddc527716dc073080eecd84676 (diff)
i915/gem_ctx_engines: Skip store-dword testing on unusable engines
If the engine does not support MI_STORE_DWORD, we cannot use IGT_SPIN_POLL_RUN. For simplicity, skip testing that engine, slightly better than skipping the entire test at least. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Diffstat (limited to 'tests/i915/gem_ctx_engines.c')
-rw-r--r--tests/i915/gem_ctx_engines.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
index 220aa29a..643a0b2f 100644
--- a/tests/i915/gem_ctx_engines.c
+++ b/tests/i915/gem_ctx_engines.c
@@ -353,6 +353,9 @@ static void execute_one(int i915)
__for_each_physical_engine(i915, e) {
struct drm_i915_gem_busy busy = { .handle = obj.handle };
+ if (!gem_class_can_store_dword(i915, e->class))
+ continue;
+
igt_debug("Testing [%s...]\n", e->name);
for (int i = -1; i <= I915_EXEC_RING_MASK; i++) {
@@ -366,6 +369,9 @@ static void execute_one(int i915)
igt_spin_reset(spin);
gem_execbuf(i915, &spin->execbuf);
+ do_ioctl(i915, DRM_IOCTL_I915_GEM_BUSY, &busy);
+ igt_assert_eq(busy.busy, 0);
+
igt_debug("Testing with map of %d engines\n", i + 1);
memset(&engines.engines, -1, sizeof(engines.engines));
if (i != -1) {