[i-g-t V6 6/6] tests/kms_hdr: Use lib helper to check the pipe/output combo validity

B, Jeevan jeevan.b at intel.com
Tue Jun 18 08:46:29 UTC 2024


LGTM. 

Reviewed-by: Jeevan B <jeevan.b at intel.com>

> -----Original Message-----
> From: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>
> Sent: Tuesday, June 18, 2024 11:54 AM
> To: igt-dev at lists.freedesktop.org
> Cc: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>; B, Jeevan
> <jeevan.b at intel.com>
> Subject: [i-g-t V6 6/6] tests/kms_hdr: Use lib helper to check the pipe/output
> combo validity
> 
> Use IGT lib helper intel_pipe_output_combo_valid() to make sure the selected
> pipe/output/mode combo is valid.
> 
> Cc: Jeevan B <jeevan.b at intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>  tests/kms_hdr.c | 90 ++++++++++++++++++++++++++++---------------------
>  1 file changed, 51 insertions(+), 39 deletions(-)
> 
> diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c index 99b78f7ef..475463c21
> 100644
> --- a/tests/kms_hdr.c
> +++ b/tests/kms_hdr.c
> @@ -261,6 +261,8 @@ static void test_bpc_switch(data_t *data, uint32_t
> flags)
>  	igt_display_t *display = &data->display;
>  	igt_output_t *output;
> 
> +	igt_display_reset(display);
> +
>  	for_each_connected_output(display, output) {
>  		enum pipe pipe;
> 
> @@ -271,26 +273,30 @@ static void test_bpc_switch(data_t *data, uint32_t
> flags)
>  			continue;
> 
>  		for_each_pipe(display, pipe) {
> -			if (igt_pipe_connector_valid(pipe, output)) {
> -				prepare_test(data, output, pipe);
> -
> -				if (is_intel_device(data->fd) &&
> -				    !igt_max_bpc_constraint(display, pipe,
> output, 10)) {
> -					test_fini(data);
> -					break;
> -				}
> -
> -				data->mode = igt_output_get_mode(output);
> -				data->w = data->mode->hdisplay;
> -				data->h = data->mode->vdisplay;
> +			igt_output_set_pipe(output, pipe);
> +			if (intel_pipe_output_combo_valid(display)) {
> +				igt_output_set_pipe(output, PIPE_NONE);
> +				continue;
> +			}
> 
> -				igt_dynamic_f("pipe-%s-%s",
> -					      kmstest_pipe_name(pipe), output-
> >name)
> -					test_bpc_switch_on_output(data,
> pipe, output, flags);
> +			prepare_test(data, output, pipe);
> 
> -				/* One pipe is enough */
> +			if (is_intel_device(data->fd) &&
> +			    !igt_max_bpc_constraint(display, pipe, output, 10))
> {
> +				test_fini(data);
>  				break;
>  			}
> +
> +			data->mode = igt_output_get_mode(output);
> +			data->w = data->mode->hdisplay;
> +			data->h = data->mode->vdisplay;
> +
> +			igt_dynamic_f("pipe-%s-%s",
> +				      kmstest_pipe_name(pipe), output->name)
> +				test_bpc_switch_on_output(data, pipe,
> output, flags);
> +
> +			/* One pipe is enough */
> +			break;
>  		}
>  	}
>  }
> @@ -614,6 +620,8 @@ static void test_hdr(data_t *data, uint32_t flags)
>  	igt_display_t *display = &data->display;
>  	igt_output_t *output;
> 
> +	igt_display_reset(display);
> +
>  	for_each_connected_output(display, output) {
>  		enum pipe pipe;
> 
> @@ -635,32 +643,36 @@ static void test_hdr(data_t *data, uint32_t flags)
>  			continue;
> 
>  		for_each_pipe(display, pipe) {
> -			if (igt_pipe_connector_valid(pipe, output)) {
> -				prepare_test(data, output, pipe);
> +			igt_output_set_pipe(output, pipe);
> +			if (!intel_pipe_output_combo_valid(display)) {
> +				igt_output_set_pipe(output, PIPE_NONE);
> +				continue;
> +			}
> 
> -				if (is_intel_device(data->fd) &&
> -				    !igt_max_bpc_constraint(display, pipe,
> output, 10)) {
> -					test_fini(data);
> -					break;
> -				}
> -
> -				data->mode = igt_output_get_mode(output);
> -				data->w = data->mode->hdisplay;
> -				data->h = data->mode->vdisplay;
> -
> -				igt_dynamic_f("pipe-%s-%s",
> -					      kmstest_pipe_name(pipe), output-
> >name) {
> -					if (flags & (TEST_NONE | TEST_DPMS
> | TEST_SUSPEND | TEST_INVALID_HDR))
> -						test_static_toggle(data, pipe,
> output, flags);
> -					if (flags & TEST_SWAP)
> -						test_static_swap(data, pipe,
> output);
> -					if (flags &
> TEST_INVALID_METADATA_SIZES)
> -
> 	test_invalid_metadata_sizes(data, output);
> -				}
> -
> -				/* One pipe is enough */
> +			prepare_test(data, output, pipe);
> +
> +			if (is_intel_device(data->fd) &&
> +			    !igt_max_bpc_constraint(display, pipe, output, 10))
> {
> +				test_fini(data);
>  				break;
>  			}
> +
> +			data->mode = igt_output_get_mode(output);
> +			data->w = data->mode->hdisplay;
> +			data->h = data->mode->vdisplay;
> +
> +			igt_dynamic_f("pipe-%s-%s",
> +				      kmstest_pipe_name(pipe), output->name)
> {
> +				if (flags & (TEST_NONE | TEST_DPMS |
> TEST_SUSPEND | TEST_INVALID_HDR))
> +					test_static_toggle(data, pipe, output,
> flags);
> +				if (flags & TEST_SWAP)
> +					test_static_swap(data, pipe, output);
> +				if (flags & TEST_INVALID_METADATA_SIZES)
> +					test_invalid_metadata_sizes(data,
> output);
> +			}
> +
> +			/* One pipe is enough */
> +			break;
>  		}
>  	}
>  }
> --
> 2.43.2



More information about the igt-dev mailing list