[i-g-t,5/8] tests/fbcon_fbt: Add wait_until_update() callback to features

Submitted by José Roberto de Souza on Jan. 7, 2019, 7:10 p.m.

Details

Message ID 20190107191056.22759-5-jose.souza@intel.com
State New
Headers show
Series "Series without cover letter" ( rev: 1 ) in IGT

Not browsing as part of any series.

Commit Message

José Roberto de Souza Jan. 7, 2019, 7:10 p.m.
Lets be more explicit and add and implement a callback to check if
feature had a state update, that is what some points of the test want
to test.

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 tests/kms_fbcon_fbt.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

Patch hide | download patch | download mbox

diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
index ffc44519..c0d1752e 100644
--- a/tests/kms_fbcon_fbt.c
+++ b/tests/kms_fbcon_fbt.c
@@ -130,6 +130,11 @@  static bool fbc_wait_until_enabled(int debugfs_fd)
 	return r;
 }
 
+static bool fbc_wait_until_update(int debugfs)
+{
+	return !fbc_wait_until_enabled(debugfs);
+}
+
 typedef bool (*connector_possible_fn)(drmModeConnectorPtr connector);
 
 static void set_mode_for_one_screen(struct drm_info *drm, struct igt_fb *fb,
@@ -191,6 +196,11 @@  static bool psr_wait_until_enabled(int debugfs_fd)
 	return r;
 }
 
+static bool psr_wait_until_update(int debugfs_fd)
+{
+	return !psr_wait_until_enabled(debugfs_fd);
+}
+
 static void disable_features(int debugfs_fd)
 {
 	igt_set_module_param_int("enable_fbc", 0);
@@ -210,16 +220,19 @@  static inline void psr_debugfs_enable(int debugfs_fd)
 struct feature {
 	bool (*supported_on_chipset)(int debugfs_fd);
 	bool (*wait_until_enabled)(int debugfs_fd);
+	bool (*wait_until_update)(int debugfs_fd);
 	bool (*connector_possible_fn)(drmModeConnectorPtr connector);
 	void (*enable)(int debugfs_fd);
 } fbc = {
 	.supported_on_chipset = fbc_supported_on_chipset,
 	.wait_until_enabled = fbc_wait_until_enabled,
+	.wait_until_update = fbc_wait_until_update,
 	.connector_possible_fn = connector_can_fbc,
 	.enable = fbc_modparam_enable,
 }, psr = {
 	.supported_on_chipset = psr_sink_support,
 	.wait_until_enabled = psr_wait_until_enabled,
+	.wait_until_update = psr_wait_until_update,
 	.connector_possible_fn = connector_can_psr,
 	.enable = psr_debugfs_enable,
 };
@@ -258,13 +271,13 @@  static void subtest(struct feature *feature, bool suspend)
 	sleep(3);
 
 	wait_user("Back to fbcon.");
-	igt_assert(!feature->wait_until_enabled(drm.debugfs_fd));
+	igt_assert(feature->wait_until_update(drm.debugfs_fd));
 
 	if (suspend) {
 		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
 					      SUSPEND_TEST_NONE);
 		sleep(5);
-		igt_assert(!feature->wait_until_enabled(drm.debugfs_fd));
+		igt_assert(feature->wait_until_update(drm.debugfs_fd));
 	}
 }