diff options
author | Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> | 2018-09-05 14:15:59 -0700 |
---|---|---|
committer | Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> | 2018-09-05 18:18:29 -0700 |
commit | 8884101aa01aedee01b2c3d0ac075473384551b7 (patch) | |
tree | c596703e235db5fbc27ff49e1a2a90c102d2833f /tests/kms_fbcon_fbt.c | |
parent | 0209886b3d1a8da654cc61b104da19fdcbd6d779 (diff) |
tests/fbcon_fbt: Enable PSR1 via debugfs
Test only PSR1 on PSR2 panels by making use of the debugfs toggle.
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Diffstat (limited to 'tests/kms_fbcon_fbt.c')
-rw-r--r-- | tests/kms_fbcon_fbt.c | 33 |
1 files changed, 22 insertions, 11 deletions
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 <sys/types.h> #include <sys/stat.h> #include <fcntl.h> @@ -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."); |