[igt-dev] [PATCH i-g-t v2 2/3] lib/debugfs: Don't do CRC sanity checks on amdgpu
Nicholas Kazlauskas
nicholas.kazlauskas at amd.com
Fri Mar 15 15:04:41 UTC 2019
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>
---
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);
}
/**
--
2.17.1
More information about the igt-dev
mailing list