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