diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-08-08 00:16:41 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-08-08 01:40:50 +0300 |
commit | 85327adcf9b3007f7dd06144cfbed90959b82b53 (patch) | |
tree | 6bcc726e85e219842fb4c90e87bb53b708d7c874 | |
parent | 058d0a25864280afb5f2feb7103525f2d9db4803 (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-x | tests/kms-test-planeposition.py | 17 |
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() |