test.py: use atomic modesetting
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 10 Apr 2017 08:17:20 +0000 (11:17 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 10 Apr 2017 08:17:35 +0000 (11:17 +0300)
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
py/tests/test.py

index b11add7..b7bf6bd 100755 (executable)
@@ -1,5 +1,6 @@
 #!/usr/bin/python3
 
+import sys
 import pykms
 
 # draw test pattern via dmabuf?
@@ -13,10 +14,17 @@ if omap:
 else:
        card = pykms.Card()
 
+if len(sys.argv) > 1:
+    conn_name = sys.argv[1]
+else:
+    conn_name = ""
+
 res = pykms.ResourceManager(card)
-conn = res.reserve_connector()
+conn = res.reserve_connector(conn_name)
 crtc = res.reserve_crtc(conn)
+plane = res.reserve_generic_plane(crtc)
 mode = conn.get_default_mode()
+modeb = mode.to_blob(card)
 
 if omap:
        origfb = pykms.OmapFramebuffer(card, mode.hdisplay, mode.vdisplay, "XR24");
@@ -31,6 +39,27 @@ else:
 
 pykms.draw_test_pattern(fb);
 
-crtc.set_mode(conn, fb, mode)
+card.disable_planes()
+
+req = pykms.AtomicReq(card)
+
+req.add(conn, "CRTC_ID", crtc.id)
+
+req.add(crtc, {"ACTIVE": 1,
+               "MODE_ID": modeb.id})
+
+req.add(plane, {"FB_ID": fb.id,
+               "CRTC_ID": crtc.id,
+               "SRC_X": 0 << 16,
+               "SRC_Y": 0 << 16,
+               "SRC_W": mode.hdisplay << 16,
+               "SRC_H": mode.vdisplay << 16,
+               "CRTC_X": 0,
+               "CRTC_Y": 0,
+               "CRTC_W": mode.hdisplay,
+               "CRTC_H": mode.vdisplay,
+               "zorder": 0})
+
+req.commit_sync(allow_modeset = True)
 
 input("press enter to exit\n")