On Thu, Jun 08, 2017 at 09:48:58PM +0000, Deucher, Alexander wrote:
> > -----Original Message-----
> > From: amd-gfx [mailto:amd-gfx-boun...@lists.freedesktop.org] On Behalf
> > Of sunpeng...@amd.com
> > Sent: Thursday, June 08, 2017 3:11 PM
> > To: intel-gfx@lists.freedesktop.org; amd-...@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...@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...@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.deuc...@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-...@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to