[PATCH i-g-t] i915/gem_exec_balancer: Check for bonding support before exercising

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Don't bother trying and failing to test bonding if the kernel doesn't
even support it.

Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Cc: Andi Shyti <andi.shyti@xxxxxxxxx>
---
 tests/i915/gem_exec_balancer.c | 34 +++++++++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/tests/i915/gem_exec_balancer.c b/tests/i915/gem_exec_balancer.c
index da8aff6de..9930e394d 100644
--- a/tests/i915/gem_exec_balancer.c
+++ b/tests/i915/gem_exec_balancer.c
@@ -1936,6 +1936,22 @@ static bool has_load_balancer(int i915)
 	return err == 0;
 }
 
+static bool has_bonding(int i915)
+{
+	I915_DEFINE_CONTEXT_ENGINES_BOND(bonds, 0) = {
+		.base.name = I915_CONTEXT_ENGINES_EXT_BOND,
+	};
+	struct i915_engine_class_instance ci = {};
+	uint32_t ctx;
+	int err;
+
+	ctx = gem_context_create(i915);
+	err = __set_load_balancer(i915, ctx, &ci, 1, &bonds);
+	gem_context_destroy(i915, ctx);
+
+	return err == 0;
+}
+
 igt_main
 {
 	int i915 = -1;
@@ -1992,11 +2008,18 @@ igt_main
 	igt_subtest("smoke")
 		smoketest(i915, 20);
 
-	igt_subtest("bonded-imm")
-		bonded(i915, 0);
+	igt_subtest_group {
+		igt_fixture igt_require(has_bonding(i915));
+
+		igt_subtest("bonded-imm")
+			bonded(i915, 0);
+
+		igt_subtest("bonded-cork")
+			bonded(i915, CORK);
 
-	igt_subtest("bonded-cork")
-		bonded(i915, CORK);
+		igt_subtest("bonded-early")
+			bonded_early(i915);
+	}
 
 	igt_subtest("bonded-slice")
 		bonded_slice(i915);
@@ -2007,9 +2030,6 @@ igt_main
 	igt_subtest("bonded-semaphore")
 		bonded_semaphore(i915);
 
-	igt_subtest("bonded-early")
-		bonded_early(i915);
-
 	igt_fixture {
 		igt_stop_hang_detector();
 	}
-- 
2.26.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux