From abc262bf470f0988e10f1cfe4aa8d0f7f5f65519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Tue, 13 May 2014 14:49:53 +0300 Subject: [PATCH] tests/kms_fbc_crc: Reset display state between subtests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If a subtest fails it'll leave the display in a state that may prevent the next subtest from working. So reset the display state between subtests. Signed-off-by: Ville Syrjälä --- tests/kms_fbc_crc.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/kms_fbc_crc.c b/tests/kms_fbc_crc.c index c169cc90..8a08bbc7 100644 --- a/tests/kms_fbc_crc.c +++ b/tests/kms_fbc_crc.c @@ -442,6 +442,19 @@ static void finish_crtc(data_t *data, enum test_mode mode) igt_remove_fb(data->drm_fd, &data->fb[1]); } +static void reset_display(data_t *data) +{ + igt_display_t *display = &data->display; + + for_each_connected_output(display, data->output) { + if (data->output->valid) { + data->primary = igt_output_get_plane(data->output, IGT_PLANE_PRIMARY); + igt_plane_set_fb(data->primary, NULL); + } + igt_output_set_pipe(data->output, PIPE_ANY); + } +} + static void run_test(data_t *data, enum test_mode mode) { igt_display_t *display = &data->display; @@ -453,6 +466,8 @@ static void run_test(data_t *data, enum test_mode mode) drm_intel_gem_context_destroy(ctx); } + reset_display(data); + for_each_connected_output(display, data->output) { for (data->pipe = 0; data->pipe < igt_display_get_n_pipes(display); data->pipe++) { if (!prepare_crtc(data))