From 641d535a03ada74a3088309609a16c79076e6ccc Mon Sep 17 00:00:00 2001 From: Paulo Zanoni Date: Wed, 6 May 2015 15:23:51 -0300 Subject: [PATCH] lib/debugfs: wait_for_keypress("crc") when collecting CRC Let's just steal the "crc" namespace and add this by default to igt_pipe_crc_collect_crc() instead of adding more calls to other tests. If tests want special waits on just some of their collect_crc() calls, they can use another name instead of "crc". This is very useful when developing, especially when the CRC we get is wrong: we want to look at the screen to see what's going on before we can think about how to fix the problem. So let's add this to the lib instead of adding this to every single test I need to debug. v2: Add some documentation (Daniel). Signed-off-by: Paulo Zanoni --- lib/igt_debugfs.c | 6 ++++++ tests/kms_draw_crc.c | 3 --- tests/kms_plane.c | 2 -- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c index e7b69dea..7319f2b1 100644 --- a/lib/igt_debugfs.c +++ b/lib/igt_debugfs.c @@ -35,6 +35,7 @@ #include #include "drmtest.h" +#include "igt_aux.h" #include "igt_kms.h" #include "igt_debugfs.h" @@ -509,9 +510,14 @@ static void crc_sanity_checks(igt_crc_t *crc) * * This function takes care of the pipe_crc book-keeping, it will start/stop * the collection of the CRC. + * + * This function also calls the interactive debug with the "crc" domain, so you + * can make use of this feature to actually see the screen that is being CRC'd. */ void igt_pipe_crc_collect_crc(igt_pipe_crc_t *pipe_crc, igt_crc_t *out_crc) { + igt_debug_wait_for_keypress("crc"); + igt_pipe_crc_start(pipe_crc); read_one_crc(pipe_crc, out_crc); igt_pipe_crc_stop(pipe_crc); diff --git a/tests/kms_draw_crc.c b/tests/kms_draw_crc.c index 1630cc2c..9fcf997e 100644 --- a/tests/kms_draw_crc.c +++ b/tests/kms_draw_crc.c @@ -102,7 +102,6 @@ static void get_method_crc(enum igt_draw_method method, uint64_t tiling, &ms.connector_id, 1, ms.mode); igt_assert(rc == 0); - igt_debug_wait_for_keypress("crc"); igt_pipe_crc_collect_crc(pipe_crc, crc); kmstest_unset_all_crtcs(drm_fd, drm_res); @@ -144,7 +143,6 @@ static void get_fill_crc(uint64_t tiling, igt_crc_t *crc) &ms.connector_id, 1, ms.mode); igt_assert(rc == 0); - igt_debug_wait_for_keypress("crc"); igt_pipe_crc_collect_crc(pipe_crc, crc); kmstest_unset_all_crtcs(drm_fd, drm_res); @@ -171,7 +169,6 @@ static void fill_fb_subtest(void) &ms.connector_id, 1, ms.mode); igt_assert(rc == 0); - igt_debug_wait_for_keypress("crc"); igt_pipe_crc_collect_crc(pipe_crc, &base_crc); get_fill_crc(LOCAL_DRM_FORMAT_MOD_NONE, &crc); diff --git a/tests/kms_plane.c b/tests/kms_plane.c index dc83a89a..741d0b41 100644 --- a/tests/kms_plane.c +++ b/tests/kms_plane.c @@ -330,8 +330,6 @@ test_plane_panning_with_output(data_t *data, igt_pipe_crc_collect_crc(data->pipe_crc, &crc); - igt_debug_wait_for_keypress("crc"); - if (flags & TEST_PANNING_TOP_LEFT) igt_assert_crc_equal(&test.red_crc, &crc); else