[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