[igt-dev] [PATCH i-g-t v6 4/7] tests/kms_fbcon_fbt: Reduce execution time

José Roberto de Souza jose.souza at intel.com
Tue Mar 24 20:29:27 UTC 2020


Every time fbc_wait_until_enabled() is called from
fbc_wait_until_update() it was waiting the whole 5 seconds of timeout
to return false as expected.
To save most 99% of this adding here fbc_wait_until_disabled().

v5:
- Fixed fbc_wait_until_update() test

Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
---
 tests/kms_fbcon_fbt.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
index ed4cccbe..b8000a24 100644
--- a/tests/kms_fbcon_fbt.c
+++ b/tests/kms_fbcon_fbt.c
@@ -113,18 +113,28 @@ static void fbc_print_status(int debugfs_fd)
 	igt_debug("FBC status: %s\n", buf);
 }
 
-static bool fbc_is_enabled(int debugfs_fd)
+static bool fbc_check_status(int debugfs_fd, bool enabled)
 {
 	char buf[128];
 
 	igt_debugfs_simple_read(debugfs_fd, "i915_fbc_status", buf,
 				sizeof(buf));
-	return strstr(buf, "FBC enabled\n");
+	if (enabled)
+		return strstr(buf, "FBC enabled\n");
+	else
+		return strstr(buf, "FBC disabled");
 }
 
 static bool fbc_wait_until_enabled(int debugfs_fd)
 {
-	bool r = igt_wait(fbc_is_enabled(debugfs_fd), 5000, 1);
+	bool r = igt_wait(fbc_check_status(debugfs_fd, true), 5000, 1);
+	fbc_print_status(debugfs_fd);
+	return r;
+}
+
+static bool fbc_wait_until_disabled(int debugfs_fd)
+{
+	bool r = igt_wait(fbc_check_status(debugfs_fd, false), 5000, 1);
 	fbc_print_status(debugfs_fd);
 	return r;
 }
@@ -141,7 +151,7 @@ static bool fbc_wait_until_update(int debugfs)
 	 * If one day fbcon starts to use a tiled framebuffer we would need to
 	 * check the 'Compressing' status as in each blink it would be disabled.
 	 */
-	return !fbc_wait_until_enabled(debugfs);
+	return fbc_wait_until_disabled(debugfs);
 }
 
 typedef bool (*connector_possible_fn)(drmModeConnectorPtr connector);
-- 
2.26.0



More information about the igt-dev mailing list