[igt-dev] [PATCH i-g-t] lib/psr: Fix skips on kms_frontbuffer_tracking on !PSR capable platforms.

Souza, Jose jose.souza at intel.com
Mon Jan 28 23:08:59 UTC 2019


On Mon, 2019-01-28 at 13:50 +0100, Maarten Lankhorst wrote:
> We unconditionally call psr_disable in kms_frontbuffer_tracking,
> which
> causes a skipping of all tests on PSR incapable platforms. Use a
> proper
> int in psr_set() and use -1 to denote disable.

The call to disable_features() is the one causing problems? Could share
one report with this problem?

If this is the case would not be easier just do this?

static bool disable_features(const struct test_mode *t)
{
	bool ret = true;

	if (t->feature == FEATURE_DEFAULT)
		return false;

	fbc_disable();
	drrs_disable();
	if (psr.can_test)
		ret = psr_disable(drm.debugfs);
	return ret;
}

> 
> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com>
> Cc: José Roberto de Souza <jose.souza at intel.com>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> ---
>  lib/igt_psr.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/igt_psr.c b/lib/igt_psr.c
> index d726fad58e9d..5eb6d2c6ace5 100644
> --- a/lib/igt_psr.c
> +++ b/lib/igt_psr.c
> @@ -100,13 +100,13 @@ static void restore_psr_debugfs(int sig)
>  	psr_write(psr_restore_debugfs_fd, "0");
>  }
>  
> -static bool psr_set(int debugfs_fd, enum psr_mode mode)
> +static bool psr_set(int debugfs_fd, int mode)
>  {
>  	int ret;
>  
>  	ret = has_psr_debugfs(debugfs_fd);
>  	if (ret == -ENODEV) {
> -		igt_skip("PSR not available\n");
> +		igt_skip_on_f(mode >= PSR_MODE_1, "PSR not
> available\n");
>  		return false;
>  	}
>  
> @@ -117,7 +117,7 @@ static bool psr_set(int debugfs_fd, enum psr_mode
> mode)
>  		 * version enabled and the PSR version of the test, it
> will
>  		 * fail in the first psr_wait_entry() of the test.
>  		 */
> -		ret = psr_modparam_set(mode <= PSR_MODE_2);
> +		ret = psr_modparam_set(mode >= PSR_MODE_1);
>  	} else {
>  		const char *debug_val;
>  
> @@ -155,7 +155,7 @@ bool psr_enable(int debugfs_fd, enum psr_mode
> mode)
>  bool psr_disable(int debugfs_fd)
>  {
>  	/* Any mode different than PSR_MODE_1/2 will disable PSR */
> -	return psr_set(debugfs_fd, PSR_MODE_2 + 1);
> +	return psr_set(debugfs_fd, -1);
>  }
>  
>  bool psr_sink_support(int debugfs_fd, enum psr_mode mode)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/igt-dev/attachments/20190128/a896b8e5/attachment.sig>


More information about the igt-dev mailing list