[Intel-gfx] [PATCH igt] lib/debugfs: wait_for_keypress("crc") when collecting CRC

Daniel Vetter daniel at ffwll.ch
Fri May 8 00:29:37 PDT 2015


On Thu, May 07, 2015 at 03:23:17PM -0300, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> 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.
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

My idea was that we'd only capture crc for test pictures and not reference
pictures. But references pictures can equally go wrong, so this makes a
lot of sense. A-b: me. One request though: Can you please update the docs
to link to the interactive debug section and say that "crc" is the magic
keyword?
-Daniel

> ---
>  lib/igt_debugfs.c    | 3 +++
>  tests/kms_draw_crc.c | 3 ---
>  tests/kms_plane.c    | 2 --
>  3 files changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
> index e7b69de..d9761d8 100644
> --- a/lib/igt_debugfs.c
> +++ b/lib/igt_debugfs.c
> @@ -35,6 +35,7 @@
>  #include <i915_drm.h>
>  
>  #include "drmtest.h"
> +#include "igt_aux.h"
>  #include "igt_kms.h"
>  #include "igt_debugfs.h"
>  
> @@ -512,6 +513,8 @@ static void crc_sanity_checks(igt_crc_t *crc)
>   */
>  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 1630cc2..9fcf997 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 dc83a89..741d0b4 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
> -- 
> 2.1.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list