[PATCH i-g-t v3 1/1] tests/kms_async_flips: Skip Async flips on joiner output
Santhosh Reddy Guddati
santhosh.reddy.guddati at intel.com
Wed Nov 13 12:20:26 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).
V3: Add a todo to remove workaround when async flips with joiner is
supported in kernel.
Signed-off-by: Santhosh Reddy Guddati <santhosh.reddy.guddati at intel.com>
Reviewed-by: Kunal Joshi <kunal1.joshi at intel.com>
---
tests/kms_async_flips.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 5dec71291..4a9cf2ae4 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,9 @@ 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) {
+ /* TODO: Remove this workaround when Async+joiner is supported */
+ igt_skip_on_f(is_joiner_mode(data),
+ "Joiner mode found, skipping the test\n");
test_init_fbs(data);
test(data);
}
@@ -674,6 +698,9 @@ 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)) {
+ /* TODO: Remove workaround when Async+joiner is supported */
+ 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