[igt-dev] [PATCH i-g-t] tests/kms_frontbuffer_tracking: Make sure GPU is quiescent before handling assertions.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Dec 13 09:52:34 UTC 2018


Typically PSR enables in around 136 ms, but on some tests the we have
to explicitly make sure that the gpu is idle before rendering.

Otherwise, sometimes we wait for the background flusher to finish,
which will take at least a second longer, and causes the wait for
PSR to timeout.

On kms_frontbuffer_tracking:
Starting subtest: psr-2p-scndscrn-shrfb-plflip-blt
psr_active(debugfs_fd, true) took 136ms
psr_active(debugfs_fd, true) took 136ms
psr_active(debugfs_fd, true) took 350ms
psr_active(debugfs_fd, true) took 136ms
psr_active(debugfs_fd, true) took 1598ms

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
Cc: José Roberto de Souza <jose.souza at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108733
Suggested-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 tests/kms_frontbuffer_tracking.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 276ef83ce386..7924bb902a2a 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -1642,6 +1642,9 @@ static void __do_assertions(const struct test_mode *t, int flags,
 {
 	flags = adjust_assertion_flags(t, flags);
 
+	/* Make sure any submitted rendering is now idle. */
+	gem_quiescent_gpu(drm.fd);
+
 	igt_debug("checking asserts in line %i\n", line);
 
 	wait_user(2, "Paused before assertions.");
-- 
2.19.2



More information about the igt-dev mailing list