public inbox for igt-dev@lists.freedesktop.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/kms_concurrent: Test for maximum number of planes
@ 2020-03-19 11:42 Mika Kahola
  2020-03-19 12:29 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Mika Kahola @ 2020-03-19 11:42 UTC (permalink / raw)
  To: igt-dev

In some cases we ran out of bandwidth when executiong a test.
An error such as this can be seen on dmesg

"Bandwidth 16632 MB/s exceeds max available 6553 MB/s (7 active planes)"

The patch tests first, how many planes the platform can support with
the given resolution. The actual test is then performed by using the
calculated maximum number of planes instead of maximum number of planes
that the platform supports.

Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
 tests/kms_concurrent.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index 14ca5fab..61137139 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -196,20 +196,19 @@ prepare_planes(data_t *data, enum pipe pipe, int max_planes,
 }
 
 static void
-test_plane_position_with_output(data_t *data, enum pipe pipe, igt_output_t *output)
+test_plane_position_with_output(data_t *data, enum pipe pipe, int max_planes,
+				igt_output_t *output)
 {
 	int i;
 	int iterations = opt.iterations < 1 ? 1 : opt.iterations;
 	bool loop_forever = opt.iterations == LOOP_FOREVER ? true : false;
-	int max_planes = data->display.pipes[pipe].n_planes;
 
 	igt_pipe_refresh(&data->display, pipe, true);
 
 	i = 0;
 	while (i < iterations || loop_forever) {
 		prepare_planes(data, pipe, max_planes, output);
-		igt_display_commit2(&data->display, COMMIT_ATOMIC);
-
+		igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
 		i++;
 	}
 }
@@ -242,7 +241,7 @@ get_lowres_mode(data_t *data, const drmModeModeInfo *mode_default,
 	return mode;
 }
 
-static void
+static int
 test_resolution_with_output(data_t *data, enum pipe pipe, igt_output_t *output)
 {
 	const drmModeModeInfo *mode_hi, *mode_lo;
@@ -294,6 +293,8 @@ test_resolution_with_output(data_t *data, enum pipe pipe, igt_output_t *output)
 
 		i++;
 	}
+
+	return max_planes;
 }
 
 static void
@@ -301,6 +302,7 @@ run_test(data_t *data, enum pipe pipe, igt_output_t *output)
 {
 	int connected_outs;
 	int n_planes = data->display.pipes[pipe].n_planes;
+	int max_planes = n_planes;
 
 	if (!opt.user_seed)
 		opt.seed = time(NULL);
@@ -311,9 +313,10 @@ run_test(data_t *data, enum pipe pipe, igt_output_t *output)
 			 igt_output_name(output), kmstest_pipe_name(pipe), opt.seed);
 
 		test_init(data, pipe, n_planes, output);
+		max_planes = test_resolution_with_output(data, pipe, output);
 
 		igt_fork(child, 1) {
-			test_plane_position_with_output(data, pipe, output);
+			test_plane_position_with_output(data, pipe, max_planes, output);
 		}
 
 		test_resolution_with_output(data, pipe, output);
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-03-23  8:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-19 11:42 [igt-dev] [PATCH i-g-t] tests/kms_concurrent: Test for maximum number of planes Mika Kahola
2020-03-19 12:29 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2020-03-19 14:51 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2020-03-19 16:35 ` [igt-dev] [PATCH i-g-t] " Juha-Pekka Heikkila
2020-03-23  8:40   ` Kahola, Mika

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox