[PATCH i-g-t v2] tests/kms_async_flips: Skip Async flips on joiner output

Santhosh Reddy Guddati santhosh.reddy.guddati at intel.com
Thu Oct 24 11:11:05 UTC 2024


Async flips are disallowed with joiner, but the test commit still
goes through and causes failures. Update the tests to skip on
joiner outputs.

V2: Skip tests only on joiner outputs (Kunal).

Signed-off-by: Santhosh Reddy Guddati <santhosh.reddy.guddati at intel.com>
---
 tests/kms_async_flips.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 5dec71291..77f68b773 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -638,6 +638,27 @@ static void test_crc(data_t *data)
 	igt_assert_lt(data->frame_count * 2, data->flip_count);
 }
 
+static bool is_joiner_mode(data_t *data)
+{
+	bool is_joiner = false;
+	bool is_ultra_joiner = false;
+	int max_dotclock;
+	drmModeModeInfo mode;
+
+	max_dotclock = igt_get_max_dotclock(data->drm_fd);
+	is_joiner = bigjoiner_mode_found(data->drm_fd,
+					 data->output->config.connector,
+					 max_dotclock, &mode);
+	is_ultra_joiner = ultrajoiner_mode_found(data->drm_fd,
+						 data->output->config.connector,
+						 max_dotclock, &mode);
+
+	if (is_joiner || is_ultra_joiner)
+		return true;
+
+	return false;
+}
+
 static void run_test(data_t *data, void (*test)(data_t *))
 {
 	igt_display_t *display = &data->display;
@@ -653,6 +674,8 @@ static void run_test(data_t *data, void (*test)(data_t *))
 		data->allow_fail = false;
 		data->modifier = default_modifier(data);
 		igt_dynamic_f("pipe-%s-%s", kmstest_pipe_name(data->pipe), data->output->name) {
+			igt_skip_on_f(is_joiner_mode(data),
+				      "Joiner mode found, skipping the test\n");
 			test_init_fbs(data);
 			test(data);
 		}
@@ -674,6 +697,8 @@ static void run_test_with_modifiers(data_t *data, void (*test)(data_t *))
 			igt_dynamic_f("pipe-%s-%s-%s", kmstest_pipe_name(data->pipe),
 				      data->output->name,
 				      igt_fb_modifier_name(data->modifier)) {
+				      igt_skip_on_f(is_joiner_mode(data),
+						     "Joiner mode found, skipping the test\n");
 				test_init_fbs(data);
 				test(data);
 			}
-- 
2.34.1



More information about the igt-dev mailing list