[igt-dev] [PATCH i-g-t V2] tests/kms_plane_multiple: Start continuous CRC capture after commit

Anson Jacob Anson.Jacob at amd.com
Mon Jun 28 13:14:35 UTC 2021


From: Victor Lu <victorchengchi.lu at amd.com>

atomic-pipe-a-tiling-none fails on amdgpu(Raven) because it fails to read the
CRC when there is no CRC generated (zeroed framebuffer). Move
igt_pipe_crc_start to be called after the first nonzero FB commit.

Signed-off-by: Victor Lu <victorchengchi.lu at amd.com>
Acked-by: Anson Jacob <Anson.Jacob at amd.com>
Cc: Petri Latvala <petri.latvala at intel.com>
Cc: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
Cc: Harry Wentland <harry.wentland at amd.com>
Cc: Mark Yacoub <markyacoub at chromium.org>
---
 tests/kms_plane_multiple.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index 93c6ea7d269d..4424b864b2d6 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -288,6 +288,7 @@ 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];
@@ -327,14 +328,16 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
 		 igt_output_name(output), kmstest_pipe_name(pipe), c,
 		 info, opt.seed);
 
-	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) {
+			igt_pipe_crc_start(data->pipe_crc);
+			crc_enabled = 1;
+		}
 
 		igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc, &crc);
 
-- 
2.25.1



More information about the igt-dev mailing list