[igt-dev] [PATCH v2] tests/amdgpu/amd_psr: trigger full modeset if visual confirm enabled

Leo Li sunpeng.li at amd.com
Tue May 3 14:06:35 UTC 2022



On 2022-05-03 09:50, David Zhang wrote:
> [why]
> In amdgpu kernel, to enable PSR visual confirm debug option, it
> needs a full modeset to call the DM PSR setup helper which in turn
> to set the visual confirm debug option. Currently before test run
> there is such full modeset, and after test run ends the visual
> confirm option is restored to be disabled. Although the IGT clean
> up after test run ends will do DPMS transition and trigger a full
> modeset, but at the moment the visual confirm is already disabled.
> This means that even from command line, visual confirm option is
> set, the DC visual confirm debug is never enabled actually during
> any PSR-SU test run.
> 
> [how]
> If visual confirm option is set from command line parameter, before
> any PSR-SU test run, we manually trigger a DPMS off->ON transition
> which in turn to trigger a full modeset in kernel from test_init(),
> to enable the visual confirm.
> 
> changes in v2:
> - drop the scaling test patch and rebase w/ latest cod base
> 
> Cc: Rodrigo Siqueira <rodrigo.siqueira at amd.com>
> Cc: Harry Wentland <harry.wentland at amd.com>
> Cc: Leo Li <sunpeng.li at amd.com>
> Cc: Jay Pillai <aurabindo.pillai at amd.com>
> Cc: Wayne Lin <wayne.lin at amd.com>

Reviewed-by: Leo Li <sunpeng.li at amd.com>

Thanks!
> 
> Signed-off-by: David Zhang <dingchen.zhang at amd.com>
> ---
>   tests/amdgpu/amd_psr.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
> index 56858f79..b930b20e 100644
> --- a/tests/amdgpu/amd_psr.c
> +++ b/tests/amdgpu/amd_psr.c
> @@ -170,6 +170,16 @@ static void test_init(data_t *data)
>   
>   	data->w = data->mode->hdisplay;
>   	data->h = data->mode->vdisplay;
> +
> +	if (opt.visual_confirm) {
> +		/**
> +		 * if visual confirm option is enabled, we'd trigger a full modeset before test run
> +		 * to make PSR visual confirm enable take effect. DPMS off -> ON transition is one of
> +		 * the approaches.
> +		 */
> +		kmstest_set_connector_dpms(data->fd, data->output->config.connector, DRM_MODE_DPMS_OFF);
> +		kmstest_set_connector_dpms(data->fd, data->output->config.connector, DRM_MODE_DPMS_ON);
> +	}
>   }
>   /* Common test cleanup. */
>   static void test_fini(data_t *data)


More information about the igt-dev mailing list