[Intel-gfx] [PATCH i-g-t] tests: Increase value of I915_MAX_PIPES to 6
Arkadiusz Hiler
arkadiusz.hiler at intel.com
Fri Jun 9 09:49:16 UTC 2017
On Thu, Jun 08, 2017 at 09:48:58PM +0000, Deucher, Alexander wrote:
> > -----Original Message-----
> > From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> > Of sunpeng.li at amd.com
> > Sent: Thursday, June 08, 2017 3:11 PM
> > To: intel-gfx at lists.freedesktop.org; amd-gfx at lists.freedesktop.org;
> > Wentland, Harry
> > Cc: Li, Sun peng
> > Subject: [PATCH i-g-t] tests: Increase value of I915_MAX_PIPES to 6
> >
> > From: "Leo (Sunpeng) Li" <sunpeng.li at amd.com>
> >
> > Increasing max pipe count to 6 to support AMD GPU's.
> >
> > Since some tests' behavior depends on this value, small changes are made
> > to remove this dependency:
> >
> > * kms_ccs: Early abort if wanted_pipe is out-of-bounds.
> > * kms_concurrent: Check if pipe is within bounds first.
> > * kms_pipe_color: Prevent skipping of subsequent tests by placing
> > generated tests in a 'igt_subtest_group'.
> > * kms_plane: Move pipe and plane index checking to subtest group level.
> >
> > Signed-off-by: Leo (Sunpeng) Li <sunpeng.li at amd.com>
> > ---
> > lib/igt_kms.c | 10 ++++++++--
> > lib/igt_kms.h | 3 +++
> > tests/kms_ccs.c | 2 ++
> > tests/kms_concurrent.c | 2 +-
> > tests/kms_pipe_color.c | 3 ++-
> > tests/kms_plane.c | 8 +++++---
> > 6 files changed, 21 insertions(+), 7 deletions(-)
> >
> > diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> > index c77716b..1bb62f0 100644
> > --- a/lib/igt_kms.c
> > +++ b/lib/igt_kms.c
> > @@ -319,12 +319,12 @@ const unsigned char* igt_kms_get_alt_edid(void)
> > */
> > const char *kmstest_pipe_name(enum pipe pipe)
> > {
> > - const char *str[] = { "A", "B", "C" };
> > + const char *str[] = { "A", "B", "C", "D", "E", "F"};
> >
> > if (pipe == PIPE_NONE)
> > return "None";
> >
> > - if (pipe > 2)
> > + if (pipe > 5)
>
> Use I915_MAX_PIPES here rather than hardcoding 5. With that fixed the patch is:
> Acked-by: Alex Deucher <alexander.deucher at amd.com>
The name can be changed to IGT_MAX_PIPES, as using I915 here is
missleading.
>
> > return "invalid";
> >
> > return str[pipe];
> > @@ -344,6 +344,12 @@ int kmstest_pipe_to_index(char pipe)
> > return 1;
> > else if (pipe == 'C')
> > return 2;
> > + else if (pipe == 'D')
> > + return 3;
> > + else if (pipe == 'E')
> > + return 4;
> > + else if (pipe == 'F')
> > + return 5;
> > else
> > return -EINVAL;
> > }
> > diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> > index 9567a26..8f7c2bb 100644
> > --- a/lib/igt_kms.h
> > +++ b/lib/igt_kms.h
> > @@ -54,6 +54,9 @@ enum pipe {
> > PIPE_A = 0,
> > PIPE_B,
> > PIPE_C,
> > + PIPE_D,
> > + PIPE_E,
> > + PIPE_F,
> > I915_MAX_PIPES
> > };
> > const char *kmstest_pipe_name(enum pipe pipe);
> > diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
> > index d829152..0795e3a 100644
> > --- a/tests/kms_ccs.c
> > +++ b/tests/kms_ccs.c
> > @@ -250,6 +250,8 @@ static void test(data_t *data)
> > int valid_tests = 0;
> > enum pipe wanted_pipe = data->pipe;
> >
> > + igt_skip_on(wanted_pipe >= display->n_pipes);
> > +
> > for_each_pipe_with_valid_output(display, data->pipe, data-
> > >output) {
> > if (wanted_pipe != PIPE_NONE && data->pipe !=
> > wanted_pipe)
> > continue;
> > diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
> > index b34540b..db06a37 100644
> > --- a/tests/kms_concurrent.c
> > +++ b/tests/kms_concurrent.c
> > @@ -351,8 +351,8 @@ run_tests_for_pipe(data_t *data, enum pipe pipe)
> > igt_fixture {
> > int valid_tests = 0;
> >
> > - igt_require(data->display.pipes[pipe].n_planes > 0);
> > igt_skip_on(pipe >= data->display.n_pipes);
> > + igt_require(data->display.pipes[pipe].n_planes > 0);
> >
> > for_each_valid_output_on_pipe(&data->display, pipe,
> > output)
> > valid_tests++;
> > diff --git a/tests/kms_pipe_color.c b/tests/kms_pipe_color.c
> > index fd58ac8..da49eb1 100644
> > --- a/tests/kms_pipe_color.c
> > +++ b/tests/kms_pipe_color.c
> > @@ -1180,7 +1180,8 @@ igt_main
> > }
> >
> > for (int pipe = 0; pipe < I915_MAX_PIPES; pipe++)
> > - run_tests_for_pipe(&data, pipe);
> > + igt_subtest_group
> > + run_tests_for_pipe(&data, pipe);
> >
> > igt_subtest_f("invalid-lut-sizes")
> > invalid_lut_sizes(&data);
> > diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> > index e1bd467..34418ca 100644
> > --- a/tests/kms_plane.c
> > +++ b/tests/kms_plane.c
> > @@ -354,9 +354,6 @@ test_plane_panning(data_t *data, enum pipe pipe,
> > int plane,
> > igt_output_t *output;
> > int connected_outs = 0;
> >
> > - igt_skip_on(pipe >= data->display.n_pipes);
> > - igt_skip_on(plane >= data->display.pipes[pipe].n_planes);
> > -
> > for_each_valid_output_on_pipe(&data->display, pipe, output) {
> > test_plane_panning_with_output(data, pipe, plane, output,
> > flags);
> > @@ -369,6 +366,11 @@ test_plane_panning(data_t *data, enum pipe pipe,
> > int plane,
> > static void
> > run_tests_for_pipe_plane(data_t *data, enum pipe pipe)
> > {
> > + igt_fixture {
> > + igt_skip_on(pipe >= data->display.n_pipes);
> > + igt_require(data->display.pipes[pipe].n_planes > 0);
> > + }
> > +
> > igt_subtest_f("plane-position-covered-pipe-%s-planes",
> > kmstest_pipe_name(pipe)) {
> > int n_planes = data->display.pipes[pipe].n_planes;
> > --
> > 2.7.4
> >
> > _______________________________________________
> > amd-gfx mailing list
> > amd-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the amd-gfx
mailing list