From 8884101aa01aedee01b2c3d0ac075473384551b7 Mon Sep 17 00:00:00 2001 From: Dhinakaran Pandiyan Date: Wed, 5 Sep 2018 14:15:59 -0700 Subject: tests/fbcon_fbt: Enable PSR1 via debugfs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test only PSR1 on PSR2 panels by making use of the debugfs toggle. Signed-off-by: Dhinakaran Pandiyan Reviewed-by: José Roberto de Souza --- tests/kms_fbcon_fbt.c | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'tests/kms_fbcon_fbt.c') diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c index 8d90e6ae..138eda9b 100644 --- a/tests/kms_fbcon_fbt.c +++ b/tests/kms_fbcon_fbt.c @@ -25,6 +25,7 @@ */ #include "igt.h" +#include "igt_psr.h" #include #include #include @@ -209,29 +210,39 @@ static bool psr_wait_until_enabled(int fd) return r; } +static void disable_features(int fd) +{ + igt_set_module_param_int("enable_fbc", 0); + psr_disable(fd); +} + +static inline void fbc_modparam_enable(int fd) +{ + igt_set_module_param_int("enable_fbc", 1); +} + +static inline void psr_debugfs_enable(int fd) +{ + psr_enable(fd); +} + struct feature { bool (*supported_on_chipset)(int fd); bool (*wait_until_enabled)(int fd); bool (*connector_possible_fn)(drmModeConnectorPtr connector); - const char *param_name; + void (*enable)(int fd); } fbc = { .supported_on_chipset = fbc_supported_on_chipset, .wait_until_enabled = fbc_wait_until_enabled, .connector_possible_fn = connector_can_fbc, - .param_name = "enable_fbc", + .enable = fbc_modparam_enable, }, psr = { .supported_on_chipset = psr_supported_on_chipset, .wait_until_enabled = psr_wait_until_enabled, .connector_possible_fn = connector_can_psr, - .param_name = "enable_psr", + .enable = psr_debugfs_enable, }; -static void disable_features(void) -{ - igt_set_module_param_int(fbc.param_name, 0); - igt_set_module_param_int(psr.param_name, 0); -} - static void subtest(struct feature *feature, bool suspend) { struct drm_info drm; @@ -241,8 +252,8 @@ static void subtest(struct feature *feature, bool suspend) igt_require(feature->supported_on_chipset(drm.debugfs_fd)); - disable_features(); - igt_set_module_param_int(feature->param_name, 1); + disable_features(drm.debugfs_fd); + feature->enable(drm.debugfs_fd); kmstest_unset_all_crtcs(drm.fd, drm.res); wait_user("Modes unset."); -- cgit v1.2.3