[igt-dev] [PATCH] lib/igt_amd: return negative if PSR state debugfs open fails
Rodrigo Siqueira Jordao
rjordrigo at amd.com
Mon Apr 4 18:05:07 UTC 2022
On 2022-04-04 12:19, David Zhang wrote:
> [why & how]
> The PSR state read helper should return an integer which is not
> the same as PSR state enumeration item for the case of debugfs
> interface opening fail. Currently it return false which is casted
> to 0 that is the same as PSR_STATE0, this is incorrect.
>
> Instead of returning 0, a negative (e.g. -1) value is returned
> when debugfs interface of PSR state opening fails. And adding the
> check of such negative value in amd_psr test case as well.
>
> 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: Aurabindo Pillai <aurabindo.pillai at amd.com>
> Cc: Wayne Lin <wayne.lin at amd.com>
>
> Signed-off-by: David Zhang <dingchen.zhang at amd.com>
> ---
> lib/igt_amd.c | 2 +-
> tests/amdgpu/amd_psr.c | 2 ++
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/lib/igt_amd.c b/lib/igt_amd.c
> index 888da44a..664602da 100644
> --- a/lib/igt_amd.c
> +++ b/lib/igt_amd.c
> @@ -1064,7 +1064,7 @@ int igt_amd_read_psr_state(int drm_fd, char *connector_name)
> fd = igt_debugfs_connector_dir(drm_fd, connector_name, O_RDONLY);
> if (fd < 0) {
> igt_info("Couldn't open connector %s debugfs directory\n", connector_name);
> - return false;
> + return -1;
> }
>
> ret = igt_debugfs_simple_read(fd, DEBUGFS_EDP_PSR_STATE, buf, sizeof(buf));
> diff --git a/tests/amdgpu/amd_psr.c b/tests/amdgpu/amd_psr.c
> index b9d8a53b..d21d41e3 100644
> --- a/tests/amdgpu/amd_psr.c
> +++ b/tests/amdgpu/amd_psr.c
> @@ -179,6 +179,7 @@ static void run_check_psr(data_t *data, bool test_null_crtc) {
> continue;
>
> psr_state = igt_amd_read_psr_state(data->fd, output->name);
> + igt_fail_on_f(psr_state < 0, "Open PSR state debugfs failed\n");
> igt_fail_on_f(psr_state < 1, "PSR was not enabled for connector %s\n", output->name);
> igt_fail_on_f(psr_state == 0xff, "PSR is invalid for connector %s\n", output->name);
> igt_fail_on_f(psr_state != 5, "PSR state is expected to be at 5 on a "
> @@ -295,6 +296,7 @@ static void run_check_psr_su_mpo(data_t *data)
> /* check PSR state */
> if (i > PSR_SETTLE_DELAY * frame_rate) {
> psr_state = igt_amd_read_psr_state(data->fd, data->output->name);
> + igt_fail_on_f(psr_state < 0, "Open PSR state debugfs failed\n");
> igt_fail_on_f(psr_state == PSR_STATE0,
> "PSR was not enabled for connector %s\n", data->output->name);
> igt_fail_on_f(psr_state == PSR_STATE_INVALID,
Reviewed-by: Rodrigo Siqueria <Rodrigo.Siqueira at amd.com>
More information about the igt-dev
mailing list