[PATCH i-g-t v2] tests/kms_async_flips: Skip Async flips on joiner output
Sharma, Swati2
swati2.sharma at intel.com
Thu Nov 14 06:04:09 UTC 2024
Hi Santosh,
Please fix subject.
s/Async/async
On 24-10-2024 04:41 pm, Santhosh Reddy Guddati wrote:
> 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)
Also, shall we have is_joiner_mode as a lib function? Other i-g-t can
benefit from this if required.
> +{
> + 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);
> }
More information about the igt-dev
mailing list