diff mbox series

tests: planeposition: Test disabling and enabling off-screen planes

Message ID 20200807212021.24189-1-laurent.pinchart@ideasonboard.com (mailing list archive)
State New
Delegated to: Kieran Bingham
Headers show
Series tests: planeposition: Test disabling and enabling off-screen planes | expand

Commit Message

Laurent Pinchart Aug. 7, 2020, 9:20 p.m. UTC
Add a test to enable an off-screen plane, in addition to the existing
tests that move enabled planes on screen. This new test crashes the DU
driver.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 tests/kms-test-planeposition.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
diff mbox series

Patch

diff --git a/tests/kms-test-planeposition.py b/tests/kms-test-planeposition.py
index a7cc11113aa9..0381896f1da8 100755
--- a/tests/kms-test-planeposition.py
+++ b/tests/kms-test-planeposition.py
@@ -103,6 +103,23 @@  class PlanePositionTest(kmstest.KMSTest):
             self.logger.log("Moved overlay plane to %d,%d" % offset)
             time.sleep(3)
 
+        # Disable and re-enable the plane when it is off-screen. The device is
+        # still expected to handle this gracefully.
+        ret = self.atomic_plane_disable(planes[1])
+        if ret < 0:
+            self.fail("off-screen atomic plane disable failed")
+            return
+
+        width = fb.width - 100
+        height = fb.height - 100
+        source = kmstest.Rect(0, 0, width, height)
+        destination = kmstest.Rect(mode.hdisplay, 50, width, height)
+
+        ret = self.atomic_plane_set(planes[1], crtc, source, destination, fb, sync=True)
+        if ret < 0:
+            self.fail("off-scrren atomic plane enable failed")
+            return
+
         self.atomic_crtc_disable(crtc)
         self.success()