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

Mark Yacoub markyacoub at chromium.org
Thu Oct 6 15:33:54 UTC 2022


Hi Lakshminarayana, I have a feeling that this might be an intel bug -
the code is pretty straightforward and works on amdpgu. we have a
feeling that i915 might be missing something.

On Mon, Oct 3, 2022 at 12:25 PM Alex Hung <alex.hung at amd.com> wrote:
>
> Hi Mark,
>
> As expected, the rev 3 has kms_plane_multiple failures on CI.IGT unlike
> rev 2 which has "is_amdgpu_device()" on the first set_pipe, and the
> failures are as below. The first set_pipe required by amdgpu is not
> needed on all devices.
>
> (kms_plane_multiple:1581) igt_debugfs-CRITICAL: Test assertion failure
> function igt_pipe_crc_start, file
> ../../../usr/src/igt-gpu-tools/lib/igt_debugfs.c:884:
> (kms_plane_multiple:1581) igt_debugfs-CRITICAL: Failed assertion:
> pipe_crc->crc_fd != -1
> (kms_plane_multiple:1581) igt_debugfs-CRITICAL: Last errno: 5,
> Input/output error
>
> The Fi.CI.IGT results are available on
> https://patchwork.freedesktop.org/series/109086/
>
>
> On 2022-09-29 14:06, Alex Hung wrote:
> > amdgpu rejects when crtc is on + all planes are off, and it
> > is necessary to turn off crtc when all planes are off in the
> > subtest "tiling-none".
> >
> > This is revised from https://patchwork.freedesktop.org/series/80904/
> >
> > Signed-off-by: Alex Hung <alex.hung at amd.com>
> > ---
> > V2 - remove second is_amdgpu_device() before setting PIPE_NONE
> >
> > V3 - remove both is_amdgpu_device() before setting PIPE_NONE
> >
> >   tests/kms_plane_multiple.c | 2 ++
> >   1 file changed, 2 insertions(+)
> >
> > diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
> > index cbe8c189..6c0bc36d 100644
> > --- a/tests/kms_plane_multiple.c
> > +++ b/tests/kms_plane_multiple.c
> > @@ -311,6 +311,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++)
> > @@ -344,6 +345,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++)


More information about the igt-dev mailing list