From b0e231c8c838d924cd8f6b26b0ade1214091acca Mon Sep 17 00:00:00 2001 From: Bhanuprakash Modem Date: Fri, 10 Jun 2022 14:41:52 +0530 Subject: tests/kms_pipe_crc_basic: Test Cleanup Clear the system state before exiting the subtest. Signed-off-by: Bhanuprakash Modem Reviewed-by: Swati Sharma --- tests/kms_pipe_crc_basic.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c index eeeb455d..0f34f807 100644 --- a/tests/kms_pipe_crc_basic.c +++ b/tests/kms_pipe_crc_basic.c @@ -77,7 +77,11 @@ static void test_read_crc(data_t *data, enum pipe pipe, int c, j; igt_display_reset(display); + igt_output_set_pipe(output, pipe); + mode = igt_output_get_mode(output); + + primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY); for (c = 0; c < ARRAY_SIZE(colors); c++) { char *crc_str; @@ -86,7 +90,6 @@ static void test_read_crc(data_t *data, enum pipe pipe, igt_debug("Clearing the fb with color (%.02lf,%.02lf,%.02lf)\n", colors[c].r, colors[c].g, colors[c].b); - mode = igt_output_get_mode(output); igt_create_color_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888, @@ -96,7 +99,6 @@ static void test_read_crc(data_t *data, enum pipe pipe, colors[c].b, &data->fb); - primary = igt_output_get_plane(output, 0); igt_plane_set_fb(primary, &data->fb); igt_display_commit(display); @@ -153,6 +155,11 @@ static void test_read_crc(data_t *data, enum pipe pipe, free(crcs); igt_remove_fb(data->drm_fd, &data->fb); } + + /* Clean-up */ + igt_output_set_pipe(output, PIPE_NONE); + igt_plane_set_fb(primary, NULL); + igt_display_commit(display); } /* @@ -226,6 +233,7 @@ static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe, igt_pipe_crc_t *pipe_crc; drmModeModeInfo *mode; igt_crc_t crc[2]; + igt_plane_t *primary; pipe_crc = igt_pipe_crc_new(data->drm_fd, pipe, "auto"); @@ -238,7 +246,9 @@ static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe, DRM_FORMAT_XRGB8888, DRM_FORMAT_MOD_LINEAR, 0.0, 1.0, 0.0, &data->fb); - igt_plane_set_fb(igt_output_get_plane(output, 0), &data->fb); + + primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY); + igt_plane_set_fb(primary, &data->fb); igt_display_commit(display); igt_pipe_crc_start(pipe_crc); @@ -253,7 +263,11 @@ static void test_disable_crc_after_crtc(data_t *data, enum pipe pipe, igt_pipe_crc_collect_crc(pipe_crc, &crc[1]); igt_assert_crc_equal(&crc[0], &crc[1]); + /* Clean-up */ igt_pipe_crc_free(pipe_crc); + igt_plane_set_fb(primary, NULL); + igt_output_set_pipe(output, PIPE_NONE); + igt_display_commit(display); igt_remove_fb(data->drm_fd, &data->fb); } @@ -291,6 +305,8 @@ igt_main igt_display_require(&data.display, data.drm_fd); igt_display_require_output(&data.display); + igt_require_pipe_crc(data.drm_fd); + data.debugfs = igt_debugfs_dir(data.drm_fd); } -- cgit v1.2.3