[igt-dev] [PATCH i-g-t] tests/kms_plane_multiple: Fix regression test_plane_position_with_output

Srinivas, Vidya vidya.srinivas at intel.com
Fri Sep 24 11:04:38 UTC 2021


Hello Victor, Jacob, Siqueira,

Could you kindly check if this change would cause regression back on AMD?

Regards
Vidya

> -----Original Message-----
> From: Srinivas, Vidya <vidya.srinivas at intel.com>
> Sent: Friday, September 24, 2021 4:16 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>;
> markyacoub at google.com; victorchengchi.lu at amd.com;
> Anson.Jacob at amd.com; Rodrigo.Siqueira at amd.com; B S, Karthik
> <karthik.b.s at intel.com>; Srinivas, Vidya <vidya.srinivas at intel.com>
> Subject: [PATCH i-g-t] tests/kms_plane_multiple: Fix regression
> test_plane_position_with_output
> 
> Starting commit 4d4a76729b328b65122 "Start continuous CRC capture after
> commit"
> few variants of Intel TGL and JSL devices are failing with CRC mismatch due to
> time sensitivity. Patch switches to older way of obtaining CRC, but keeps in-
> tact continuous CRC collection within the iteration and includes checking of
> i915 to not cause regression on non-intel devices.
> 
> v2: Fixed review comments from Karthik.
> 
> Signed-off-by: Vidya Srinivas <vidya.srinivas at intel.com>
> ---
>  tests/kms_plane_multiple.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c index
> 45cabb500774..c11ff333ab0a 100644
> --- a/tests/kms_plane_multiple.c
> +++ b/tests/kms_plane_multiple.c
> @@ -79,8 +79,6 @@ static void test_init(data_t *data, enum pipe pipe, int
> n_planes)
> 
>  static void test_fini(data_t *data, igt_output_t *output, int n_planes)  {
> -	igt_pipe_crc_stop(data->pipe_crc);
> -
>  	/* reset the constraint on the pipe */
>  	igt_output_set_pipe(output, PIPE_ANY);
> 
> @@ -291,7 +289,6 @@ test_plane_position_with_output(data_t *data,
> enum pipe pipe,
>  	igt_plane_t *plane;
>  	int i;
>  	int err, c = 0;
> -	int crc_enabled = 0;
>  	int iterations = opt.iterations < 1 ? 1 : opt.iterations;
>  	bool loop_forever;
>  	char info[256];
> @@ -334,15 +331,20 @@ test_plane_position_with_output(data_t *data,
> enum pipe pipe,
>  	i = 0;
>  	while (i < iterations || loop_forever) {
>  		/* randomize planes and set up the holes */
> +
> +		/* Intel devices need it here, timing sensitive on few devices
> */
> +		if (is_i915_device(data->drm_fd))
> +			igt_pipe_crc_start(data->pipe_crc);
> +
>  		prepare_planes(data, pipe, &blue, tiling, c, output);
> 
>  		igt_display_commit2(&data->display, COMMIT_ATOMIC);
> -		if (!crc_enabled) {
> +		if (!is_i915_device(data->drm_fd))
>  			igt_pipe_crc_start(data->pipe_crc);
> -			crc_enabled = 1;
> -		}
> 
>  		igt_pipe_crc_get_current(data->display.drm_fd, data-
> >pipe_crc, &crc);
> +		igt_assert_crc_equal(&data->ref_crc, &crc);
> +		igt_pipe_crc_stop(data->pipe_crc);
> 
>  		for_each_plane_on_pipe(&data->display, pipe, plane)
>  			igt_plane_set_fb(plane, NULL);
> @@ -352,8 +354,6 @@ test_plane_position_with_output(data_t *data,
> enum pipe pipe,
>  		for (int x = 0; x < c; x++)
>  			igt_remove_fb(data->drm_fd, &data->fb[x]);
> 
> -		igt_assert_crc_equal(&data->ref_crc, &crc);
> -
>  		i++;
>  	}
> 
> --
> 2.33.0



More information about the igt-dev mailing list