[igt-dev] [PATCH i-g-t] tests/kms_plane_multiple: Fix regression test_plane_position_with_output
Karthik B S
karthik.b.s at intel.com
Fri Oct 8 06:18:47 UTC 2021
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>
> ---
> 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