Re: [PATCH i-g-t] tests: Increase value of I915_MAX_PIPES to 6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@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.


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@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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux