[kms-tests] [PATCH 0/7] Improve CRC (DISCOM) test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

This patch series improves the test of the CRC calculation performed by
the DISCOM.

For DU channels backed by a VSP, the VSP can calculate the CRC of frames
using the DISCOM hardware block. The frame on which the CRC is computed
can be an input to the VSP (a DRM plane) or the output of the VSP (the
DU channel output). This is useful to verify that the screen, or a
portion of it, contains the expected data.

The test suite already contains a CRC test case, but it only verifies
that consecutive CRC values without any page flip do not vary. This
series extends the test to verify the actual CRC value.

Patches 1/6 and 2/6 improve the geometry helper classes in kmstest.
Patches 3/6 and then ensures that the CRC test leaves all CRTC disabled
even when it fails, to avoid cross-interactions between tests.

Patch 4/6 introduces a Composer class in the CRC test, to group all code
related to composition of the display. This is a small refactoring that
prepares for patch 5/6 that computes reference CRC values in the
Composer class, and compares them with the values computed by the
hardware.

The last patch, 6/6, adds a C utility to compute the CRC value of a
frame. This is useful when using the DISCOM to calculate the expected
CRC values, either during development or at runtime. The CRC calculation
code is generated with the Python crcmod module, using it only requires
a single line of code to compute a CRC on a data buffer:

	crc = calculate_crc(image, size, 0);

Note that the CRC test requires extensions to kmsxx that haven't been
merged upstream yet (one of them has actually not even been posted). The
kmsxx patches can be found at

	git://git.ideasonboard.com/renesas/kmsxx.git

I will work on upstreaming them.

Laurent Pinchart (6):
  kmstest: Extend Rect class
  kmstest: Add additional geometry classes
  tests: crc: Disable CRTC regarless of test status
  tests: crc: Introduce Composer class
  tests: crc: Compute reference CRC values and compare them
  crc: Add a utility to compute the CRC of a frame

 Makefile              |   2 +-
 README                |   1 +
 crc/Makefile          |  32 +++++
 crc/gen-crc.py        |  14 +++
 crc/main.c            | 271 ++++++++++++++++++++++++++++++++++++++++++
 tests/kms-test-crc.py | 145 +++++++++++++++++++---
 tests/kmstest.py      |  38 ++++++
 7 files changed, 488 insertions(+), 15 deletions(-)
 create mode 100644 crc/Makefile
 create mode 100755 crc/gen-crc.py
 create mode 100644 crc/main.c

-- 
Regards,

Laurent Pinchart




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux