[igt-dev] [PATCH i-g-t 6/6] tests/fbcon_fbt: Enable PSR1 via debugfs

Souza, Jose jose.souza at intel.com
Wed Sep 5 21:10:59 UTC 2018


On Wed, 2018-08-29 at 14:57 -0700, Dhinakaran Pandiyan wrote:
> Test only PSR1 on PSR2 panels by making use of the debugfs toggle.
> 


Reviewed-by: José Roberto de Souza <jose.souza at intel.com>

> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> ---
>  tests/kms_fbcon_fbt.c | 33 ++++++++++++++++++++++-----------
>  1 file changed, 22 insertions(+), 11 deletions(-)
> 
> diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
> index e9376cde..e28bd770 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>
> @@ -205,29 +206,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;
> @@ -237,8 +248,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.");


More information about the igt-dev mailing list