[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 amd-gfx mailing list