summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-08-08 00:16:41 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-08-08 01:40:50 +0300
commit85327adcf9b3007f7dd06144cfbed90959b82b53 (patch)
tree6bcc726e85e219842fb4c90e87bb53b708d7c874
parent058d0a25864280afb5f2feb7103525f2d9db4803 (diff)
tests: planeposition: Test disabling and enabling off-screen planes
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>
-rwxr-xr-xtests/kms-test-planeposition.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/kms-test-planeposition.py b/tests/kms-test-planeposition.py
index a7cc111..0381896 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()