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

Vidya Srinivas vidya.srinivas at intel.com
Thu Sep 16 14:23:01 UTC 2021


Starting commit 4d4a76729b328b65122 "Start continuous CRC capture after commit"
few variants of Intel TGL devices are failing upon CRC mismatch.
Patch switches to older way of obtaining CRC and includes checking of
i915 as patch causing regression is a fix for AMD devices.

Signed-off-by: Vidya Srinivas <vidya.srinivas at intel.com>
---
 tests/kms_plane_multiple.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index 45cabb500774..e6e035dca59b 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -331,18 +331,23 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
 		 igt_output_name(output), kmstest_pipe_name(pipe), c,
 		 info, opt.seed);
 
+	if (is_i915_device(data->drm_fd))
+		igt_pipe_crc_start(data->pipe_crc);
+
 	i = 0;
 	while (i < iterations || loop_forever) {
 		/* randomize planes and set up the holes */
 		prepare_planes(data, pipe, &blue, tiling, c, output);
 
 		igt_display_commit2(&data->display, COMMIT_ATOMIC);
-		if (!crc_enabled) {
+		if (!crc_enabled && !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 +357,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