[igt-dev] [PATCH i-g-t] kms_chamelium: Fix test failures from missing outputs/unsupported formats, v2.

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Feb 25 19:10:54 UTC 2019


On Thu, Feb 14, 2019 at 11:59:01AM +0100, Maarten Lankhorst wrote:
> Newer platforms don't support this format, but the tests don't check
> if the format is supported on the primary plane.

This sentence is rather confusing. Maybe
"Not all hardware supports all formats, but ..." ?

Otherwise the patch seems sensible to me
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> 
> After enabling an output we also don't refresh the output connection,
> calling igt_output_set_pipe(output, PIPE_NONE) will do so, and prevent
> skips because no connected output is detected.
> 
> Changes since v1:
> - Use igt_plane_has_format_mod (Ville).
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> ---
>  tests/kms_chamelium.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> index 64f87d3ae474..cab7d751379d 100644
> --- a/tests/kms_chamelium.c
> +++ b/tests/kms_chamelium.c
> @@ -436,6 +436,9 @@ prepare_output(data_t *data,
>  
>  	output = igt_output_from_connector(display, connector);
>  
> +	/* Refresh pipe to update connected status */
> +	igt_output_set_pipe(output, PIPE_NONE);
> +
>  	for_each_pipe(display, pipe) {
>  		if (!igt_pipe_connector_valid(pipe, output))
>  			continue;
> @@ -614,6 +617,8 @@ static void test_display_one_mode(data_t *data, struct chamelium_port *port,
>  	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>  	igt_assert(primary);
>  
> +	igt_require(igt_plane_has_format_mod(primary, fourcc, LOCAL_DRM_FORMAT_MOD_NONE));
> +
>  	mode = &connector->modes[0];
>  	if (check == CHAMELIUM_CHECK_ANALOG) {
>  		bool bridge = check_analog_bridge(data, port);
> @@ -642,6 +647,7 @@ static void test_display_all_modes(data_t *data, struct chamelium_port *port,
>  	connector = chamelium_port_get_connector(data->chamelium, port, false);
>  	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>  	igt_assert(primary);
> +	igt_require(igt_plane_has_format_mod(primary, fourcc, LOCAL_DRM_FORMAT_MOD_NONE));
>  
>  	if (check == CHAMELIUM_CHECK_ANALOG)
>  		bridge = check_analog_bridge(data, port);
> -- 
> 2.20.1

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list