[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 Oct 8 06:23:04 UTC 2021



> -----Original Message-----
> From: B S, Karthik <karthik.b.s at intel.com>
> Sent: Friday, October 8, 2021 11:49 AM
> To: Srinivas, Vidya <vidya.srinivas at intel.com>; 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
> Subject: Re: [PATCH i-g-t] tests/kms_plane_multiple: Fix regression
> test_plane_position_with_output
> 
> On 9/24/2021 4:15 PM, Vidya Srinivas wrote:
> > 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>
> Reviewed-by: Karthik B S <karthik.b.s at intel.com>

Thank you so much Karthik. @Modem, Bhanuprakash can you kindly check and help merge? Thanks a lot.

Regards
Vidya

> > ---
> >   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++;
> >   	}
> >
> 



More information about the igt-dev mailing list