[igt-dev] [PATCH i-g-t v2 2/3] lib/debugfs: Don't do CRC sanity checks on amdgpu
Wentland, Harry
Harry.Wentland at amd.com
Wed Mar 27 15:10:59 UTC 2019
On 2019-03-15 11:04 a.m., Nicholas Kazlauskas wrote:
> A black FB on amdgpu returns a CRC of (0, 0, 0), which IGT considers
> suspicious. All our CRC values are also 16-bit so a value of 0xffffffff
> can't be obtained.
>
> Drop the suspicious CRC checks on amdgpu by checking the device in
> crc_sanity_checks. We need the drm_fd for this so pass in pipe_crc
> to the function to get it. It makes more sense to me to do it this
> way than to duplicate code and the explanation on both calls to
> crc_sanity_checks.
>
> v2: rebase
>
> Cc: Leo Li <sunpeng.li at amd.com>
> Cc: Harry Wentland <harry.wentland at amd.com>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Harry
> ---
> lib/igt_debugfs.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
> index 7849faad..dd229c09 100644
> --- a/lib/igt_debugfs.c
> +++ b/lib/igt_debugfs.c
> @@ -872,11 +872,15 @@ igt_pipe_crc_get_crcs(igt_pipe_crc_t *pipe_crc, int n_crcs,
> return n;
> }
>
> -static void crc_sanity_checks(igt_crc_t *crc)
> +static void crc_sanity_checks(igt_pipe_crc_t *pipe_crc, igt_crc_t *crc)
> {
> int i;
> bool all_zero = true;
>
> + /* Any CRC value can be considered valid on amdgpu hardware. */
> + if (is_amdgpu_device(pipe_crc->fd))
> + return;
> +
> for (i = 0; i < crc->n_words; i++) {
> igt_warn_on_f(crc->crc[i] == 0xffffffff,
> "Suspicious CRC: it looks like the CRC "
> @@ -930,7 +934,7 @@ void igt_pipe_crc_get_single(igt_pipe_crc_t *pipe_crc, igt_crc_t *crc)
> {
> read_one_crc(pipe_crc, crc);
>
> - crc_sanity_checks(crc);
> + crc_sanity_checks(pipe_crc, crc);
> }
>
> /**
> @@ -959,7 +963,7 @@ igt_pipe_crc_get_current(int drm_fd, igt_pipe_crc_t *pipe_crc, igt_crc_t *crc)
> }
> } while (igt_vblank_before_eq(crc->frame, vblank));
>
> - crc_sanity_checks(crc);
> + crc_sanity_checks(pipe_crc, crc);
> }
>
> /**
>
More information about the igt-dev
mailing list