[igt-dev] [PATCH][V2] tests/kms_plane_multiple: turn off pipe if all planes are off

Mark Yacoub markyacoub at chromium.org
Wed Sep 28 14:17:41 UTC 2022


is the second fix not necessary anymore?

On Tue, Sep 27, 2022 at 3:36 PM Alex Hung <alex.hung at amd.com> wrote:
>
> amdgpu rejects when crtc is on + all planes are off, and it
> is necessary to turn off crtc when all planes are off.
>
> This is revised from https://patchwork.freedesktop.org/series/80904/
>
> Signed-off-by: Alex Hung <alex.hung at amd.com>
> ---
>  tests/kms_plane_multiple.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
> index cbe8c189..e900dc7f 100644
> --- a/tests/kms_plane_multiple.c
> +++ b/tests/kms_plane_multiple.c
> @@ -311,6 +311,8 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
>                 for_each_plane_on_pipe(&data->display, pipe, plane)
>                         igt_plane_set_fb(plane, NULL);
>
> +               if (is_amdgpu_device(data->drm_fd))
> +                       igt_output_set_pipe(output, PIPE_NONE);
I'm still confused why do you need this just for AMD. If AMD has some
requirements, I think it's gonna work for everyone else. If it breaks
in the CI (testing on intel devices), then I think something is off
here, and maybe it's a kernel thing.
If it's the crtc/plan workaround that's in amdgpu, an IGT fix has
always worked for everyone and didn't need an (is amd only) check.
>                 igt_display_commit2(&data->display, COMMIT_ATOMIC);
>
>                 for (int x = 0; x < c; x++)
> @@ -344,6 +346,7 @@ test_plane_position_with_output(data_t *data, enum pipe pipe,
>                 for_each_plane_on_pipe(&data->display, pipe, plane)
>                         igt_plane_set_fb(plane, NULL);
>
> +               igt_output_set_pipe(output, PIPE_NONE);
>                 igt_display_commit2(&data->display, COMMIT_ATOMIC);
>
>                 for (int x = 0; x < c; x++)
> --
> 2.34.1
>


More information about the igt-dev mailing list