[Intel-gfx] [PATCH i-g-t] tests: Increase value of I915_MAX_PIPES to 6
Leo
sunpeng.li at amd.com
Fri Jun 9 15:48:35 UTC 2017
On 2017-06-09 05:49 AM, Arkadiusz Hiler wrote:
> 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.
>
Renaming I915_MAX_PIPES will cause wider changes, I'll submit a new
patch for that. Will submit a v2 for Alex's comment.
Leo
>>> 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 Intel-gfx
mailing list