Re: [igt-dev] [PATCH i-g-t v3 00/21] Chamelium VC4 plane fuzzy testing, with SAND and T-tiled mode

Paul Kocialkowski
2019-01-15T09:34:10Z

Hi,

On Mon, 2019-01-14 at 19:46 -0500, Lyude Paul wrote:
> Got up to patch #8, but I haven't finished reviewing yet. Will try to get that
> done first thing tommorrow
>
> For now, 1-7 lgtm

Thanks a lot for the review, it's greatly appreciated :)

Cheers,

Paul

> On Fri, 2019-01-11 at 10:05 +0100, Paul Kocialkowski wrote:
> > This series introduces the required plumbing for allocating buffers in
> > the VC4 T-tiled and SAND_tiled modes, along with helpers to convert to
> > these tiling modes.
> >
> > A new "checkerboard" comparison method is introduced to check whether
> > captured frames match their references in cases where pixel-perfect
> > results are not possible (e.g. with scaling) and the analog test does
> > not provide reliable results.
> >
> > With that in place, new tests for the Chamelium are introduced to
> > perform testing of planes with randomized properties, both with a
> > CRC and frame comparison fashion.
> >
> > This series is based on version 3 of Maxime Ripard's series:
> > igt: chamelium: Test YUV buffers using the Chamelium
> >
> > Changes since v2:
> > * Added support for SAND tiling;
> > * Generalized T-tiling to support both 16 and 32 bpp;
> > * Split the main test into more sub-functions;
> > * Removed explicit lists of DRM formats;
> > * Added helper to list known DRM formats;
> > * Various functional fixes in the main test;
> > * Removed unnecessary pointer init in map_bo;
> > * Rebased on v3 of Maxime Ripard's YUV series;
> > * Added collected Reviewed-By tags;
> >
> > Changes since v1:
> > * Added collected Reviewed-by tags;
> > * Removed explicit size and constified tiling read order tables;
> > * Removed unnecessary MAP_FAILED addition in map_bo;
> > * Added pipe and output helpers to count and iterate planes of a given type;
> > * Moved CRC debug prints to the chamelium library;
> > * Fixed destination stride description for igt_fb_convert_with_stride;
> > * Split planes test into a few sub-routines;
> > * Removed explicit underrun detection since general error reporting is
> > enough;
> > * Removed underrun detection bits due to ongoing Chamelium-specific issues;
> > * Deconfigured planes before removing their framebuffer, avoiding kmsg
> > errors.
> >
> > Paul Kocialkowski (21):
> > lib: drmtest: Add helpers to check and require the VC4 driver
> > lib/igt_fb: Add checks on i915 for i915-specific tiled buffer
> > allocation
> > lib/igt_fb: Add support for allocating T-tiled VC4 buffers
> > lib/igt_fb: Add support for VC4 SAND tiling modes
> > lib/igt_fb: Allow interpreting the tile height as a stride equivalent
> > lib/igt_fb: Add a stride-provisioned fashion of igt_fb_convert
> > lib/igt_fb: Add a helper to retreive the plane bpp for a given format
> > lib/igt_fb: Add a helper to fill-in the available DRM formats
> > lib/igt_vc4: Add helpers for converting linear to T-tiled RGB buffers
> > lib/igt_vc4: Add helper for checking T-tiling support on plane
> > lib/igt_vc4: Add helpers for converting linear to SAND-tiled buffers
> > lib/igt_vc4: Add helper for checking SAND tiling support on plane
> > lib/igt_kms: Add helpers to count and iterate planes from pipe
> > lib/igt_kms: Add helpers to count and iterate planes from output
> > lib/igt_chamelium: Fixup resources liberation in comparison helpers
> > lib/igt_chamelium: Split frames dump logic and rework surroundings
> > lib/igt_chamelium: Generalize the frame match helper with check type
> > lib/igt_frame: Add a checkerboard frame comparison method
> > lib/igt_chamelium: Hook-in checkerboard comparison method in helpers
> > chamelium: Move the YUV tests over to the checkerboard checking method
> > chamelium: Add a display test for randomized planes
> >
> > lib/drmtest.c | 10 +
> > lib/drmtest.h | 2 +
> > lib/igt_chamelium.c | 124 +++++++----
> > lib/igt_chamelium.h | 15 +-
> > lib/igt_fb.c | 144 ++++++++++++-
> > lib/igt_fb.h | 6 +
> > lib/igt_frame.c | 121 +++++++++++
> > lib/igt_frame.h | 2 +
> > lib/igt_kms.c | 84 ++++++++
> > lib/igt_kms.h | 6 +
> > lib/igt_vc4.c | 242 +++++++++++++++++++++
> > lib/igt_vc4.h | 42 ++++
> > tests/kms_chamelium.c | 481 ++++++++++++++++++++++++++++++++++++++++--
> > 13 files changed, 1204 insertions(+), 75 deletions(-)
> >
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering