summaryrefslogtreecommitdiff
path: root/tests/kms_fbcon_fbt.c
diff options
context:
space:
mode:
authorDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>2018-09-05 14:15:59 -0700
committerDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>2018-09-05 18:18:29 -0700
commit8884101aa01aedee01b2c3d0ac075473384551b7 (patch)
treec596703e235db5fbc27ff49e1a2a90c102d2833f /tests/kms_fbcon_fbt.c
parent0209886b3d1a8da654cc61b104da19fdcbd6d779 (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.c33
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.");