renesas/kms-tests.git
5 months agokmstest.py: Add output_connectors() helper to skip writeback connectors master
Laurent Pinchart [Wed, 19 Jun 2019 00:09:09 +0000 (03:09 +0300)]
kmstest.py: Add output_connectors() helper to skip writeback connectors

Add a generator method to the KMSTest class to enumerate all
non-writeback connectors, and use it through tests.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
5 months agotests: Add an output routing test
Laurent Pinchart [Mon, 17 Jun 2019 19:52:46 +0000 (22:52 +0300)]
tests: Add an output routing test

Add a test that moves an output connector between multiple CRTCs with a
single mode set operation at each step, without going through disable
and reenable cycles. This helps testing the routing configuration code
paths in the commit tail handler.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
5 months agotests: Extend BRU/BRS allocation test to cover M3-N
Laurent Pinchart [Mon, 17 Jun 2019 00:33:24 +0000 (03:33 +0300)]
tests: Extend BRU/BRS allocation test to cover M3-N

The BRU/BRS allocation test only covers the H3 ES2.0 SoC as that was the
only hardware platform supported by the DU driver that offered the
required features at the time the test was written. Now that M3-N is
supported in the DU driver, support it in the test script.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
5 months agotests: Add a plane formats test
Laurent Pinchart [Sun, 16 Jun 2019 23:39:21 +0000 (02:39 +0300)]
tests: Add a plane formats test

Add a new test script that tests all formats supported by planes.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
5 months agotests: Add a legacy mode set test
Laurent Pinchart [Fri, 27 Apr 2018 20:23:11 +0000 (23:23 +0300)]
tests: Add a legacy mode set test

Perform mode sets through the legacy API to test the DRM core legacy
code paths, as well as the rcar-du code paths that could be exercised
differently by the atomic legacy mode set helpers.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
5 months agokmstest.py: Capture the last kernel messages before closing the log
Laurent Pinchart [Mon, 17 Jun 2019 16:10:24 +0000 (19:10 +0300)]
kmstest.py: Capture the last kernel messages before closing the log

When stopping a test, kernel messages can be logged after the event loop
is stopped. Capture them before closing the log.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
5 months agokmstest.py: Fix CRTC disabling
Laurent Pinchart [Mon, 17 Jun 2019 16:04:30 +0000 (19:04 +0300)]
kmstest.py: Fix CRTC disabling

The KMSTest.atomic_crtc_disable() method deactivates a CRTC but doesn't
fully disable it, which requires setting the MODE_ID to 0. Furthermore
it doesn't de-associate the CRTC from connectors and planes, which
causes atomic check failures as a fully disabled CRTC can't be
associated with connectors. It can also lead to the next test failing
due to resources still being allocated to the CRTC.

To fix this, introduce an AtomicRequest class that wraps around
pykms.AtomicReq, and stores a copy of all the properties. When the
request is committed the properties are added to a global state, which
is then used to locate and release connectors and planes associated with
the CRTC in KMSTest.atomic_crtc_disable().

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
19 months agotests: crc: Add CRC computation test
Laurent Pinchart [Sun, 3 Dec 2017 10:13:45 +0000 (12:13 +0200)]
tests: crc: Add CRC computation test

The test exercises the CRC API by enabling CRC computation on the
pipeline output, capturing CRC values and verifying that they all match.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
19 months agokmstest.py: Add CRC reader class
Laurent Pinchart [Sat, 2 Dec 2017 13:34:32 +0000 (15:34 +0200)]
kmstest.py: Add CRC reader class

The CRCReader class uses the DRM/KMS debugfs-based CRC API to configure
CRC computation on a CRTC and read the computed CRC values.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
19 months agotests: brxalloc: Add BRU/BRS dynamic allocation test
Laurent Pinchart [Mon, 26 Feb 2018 13:21:38 +0000 (15:21 +0200)]
tests: brxalloc: Add BRU/BRS dynamic allocation test

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
20 months agokmstest.py: Add atomic_plane_disable() function to KMSTest class
Laurent Pinchart [Mon, 26 Feb 2018 13:19:32 +0000 (15:19 +0200)]
kmstest.py: Add atomic_plane_disable() function to KMSTest class

The function can be used to disable planes selectively.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
23 months agokmstest.py: Update to the latest kmsxx Python bindings
Laurent Pinchart [Thu, 7 Dec 2017 18:25:05 +0000 (20:25 +0200)]
kmstest.py: Update to the latest kmsxx Python bindings

Commit 706a44abb3aa ("Update to latest pybind11") of kmsxx broke the
test suite by changing the signature of the AtomicRequest::commit
function. Update the test suite accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
23 months agotests: planeposition: Wait 3s after moving planes off-screen
Laurent Pinchart [Mon, 13 Nov 2017 08:44:21 +0000 (10:44 +0200)]
tests: planeposition: Wait 3s after moving planes off-screen

Add a 3s delay after each off-screen position test, as we do for
partially off-screen tests, in order to allow time for visual
inspection.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2 years agotests: planeposition: Accept off-screen planes
Laurent Pinchart [Mon, 13 Nov 2017 08:44:21 +0000 (10:44 +0200)]
tests: planeposition: Accept off-screen planes

The DU driver now accepts off-screen planes (but obviously don't display
them). Update the test accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2 years agoMakefile: Fix installation scripts wildcard
Laurent Pinchart [Thu, 21 Sep 2017 10:13:10 +0000 (13:13 +0300)]
Makefile: Fix installation scripts wildcard

The Makefile incorrectly refers to test scripts as *.sh while it should
use *.py. Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2 years agoInitial import
Laurent Pinchart [Fri, 11 Aug 2017 23:23:14 +0000 (02:23 +0300)]
Initial import

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>