Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] tests/kms_display_modes: Add check on ENOSPC for DP MST config
@ 2022-08-08  9:36 Mohammed Thasleem
  2022-08-14  9:28 ` [igt-dev] [PATCH i-g-t v2] tests/kms_display_modes: Fixed mode selection for extended mode tests Mohammed Thasleem
                   ` (13 more replies)
  0 siblings, 14 replies; 20+ messages in thread
From: Mohammed Thasleem @ 2022-08-08  9:36 UTC (permalink / raw)
  To: igt-dev

Added check on ENOSPC when two moniters connected through MST.
This will find the connector mode combo that fits into the
bandwidth when more than one monitor is connected.

Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
---
 tests/kms_display_modes.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/tests/kms_display_modes.c b/tests/kms_display_modes.c
index e4191811..cbcdc0cc 100644
--- a/tests/kms_display_modes.c
+++ b/tests/kms_display_modes.c
@@ -44,6 +44,7 @@ static void run_extendedmode_basic(data_t *data, int pipe1, int pipe2)
 	igt_pipe_crc_t *pipe_crc[2] = { 0 };
 	igt_crc_t ref_crc[2], crc[2];
 	int count = 0, width, height;
+	int ret;
 	cairo_t *cr;
 
 	for_each_connected_output(display, output) {
@@ -54,6 +55,7 @@ static void run_extendedmode_basic(data_t *data, int pipe1, int pipe2)
 			break;
 	}
 
+restart:
 	igt_output_set_pipe(extended_output[0], pipe1);
 	igt_output_set_pipe(extended_output[1], pipe2);
 
@@ -79,7 +81,23 @@ static void run_extendedmode_basic(data_t *data, int pipe1, int pipe2)
 	igt_fb_set_size(&fbs[1], plane[1], mode[1]->hdisplay, mode[1]->vdisplay);
 	igt_plane_set_size(plane[1], mode[1]->hdisplay, mode[1]->vdisplay);
 
-	igt_display_commit2(display, COMMIT_ATOMIC);
+	ret = igt_display_try_commit2(display, COMMIT_ATOMIC);
+	if (ret != 0 && errno == ENOSPC) {
+
+		bool found = igt_override_all_active_output_modes_to_fit_bw(display);
+
+		igt_require_f(found, "No valid mode combo found.\n");
+
+		for_each_connected_output(display, output)
+			igt_output_set_pipe(output, PIPE_NONE);
+
+		igt_remove_fb(data->drm_fd, &fbs[0]);
+		igt_remove_fb(data->drm_fd, &fbs[1]);
+
+		goto restart;
+	}
+
+	igt_assert(!ret);
 
 	igt_pipe_crc_collect_crc(pipe_crc[0], &ref_crc[0]);
 	igt_pipe_crc_collect_crc(pipe_crc[1], &ref_crc[1]);
@@ -101,7 +119,6 @@ static void run_extendedmode_basic(data_t *data, int pipe1, int pipe2)
 	igt_plane_set_fb(plane[1], &fb);
 	igt_fb_set_position(&fb, plane[1], mode[0]->hdisplay, 0);
 	igt_fb_set_size(&fb, plane[1], mode[1]->hdisplay, mode[1]->vdisplay);
-
 	igt_display_commit2(display, COMMIT_ATOMIC);
 
 	igt_pipe_crc_collect_crc(pipe_crc[0], &crc[0]);
-- 
2.25.1

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

end of thread, other threads:[~2023-03-19 20:02 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-08  9:36 [igt-dev] [PATCH i-g-t] tests/kms_display_modes: Add check on ENOSPC for DP MST config Mohammed Thasleem
2022-08-14  9:28 ` [igt-dev] [PATCH i-g-t v2] tests/kms_display_modes: Fixed mode selection for extended mode tests Mohammed Thasleem
2022-08-30 11:41   ` [igt-dev] [PATCH i-g-t] " Mohammed Thasleem
2023-03-09  5:19     ` Modem, Bhanuprakash
2023-02-24  9:40   ` [igt-dev] [PATCH i-g-t v2] " Modem, Bhanuprakash
2023-03-08 17:25     ` Kamil Konieczny
2023-03-09  5:10       ` Modem, Bhanuprakash
2022-09-04 10:09 ` [igt-dev] [PATCH i-g-t] " Mohammed Thasleem
2023-02-14 12:20 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests/kms_display_modes: Add check on ENOSPC for DP MST config Patchwork
2023-02-15 11:18 ` [igt-dev] [PATCH i-g-t] " Modem, Bhanuprakash
2023-02-20 11:26 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_display_modes: Add check on ENOSPC for DP MST config (rev2) Patchwork
2023-02-20 19:18 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-03-08 14:16 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_display_modes: Add check on ENOSPC for DP MST config (rev3) Patchwork
2023-03-10  4:04 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-03-13 12:05 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_display_modes: Add check on ENOSPC for DP MST config (rev4) Patchwork
2023-03-13 17:01 ` [igt-dev] ✗ GitLab.Pipeline: warning " Patchwork
2023-03-14 12:15 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2023-03-19 18:13 ` [igt-dev] [PATCH i-g-t] tests/kms_display_modes: Fixed mode selection for extended mode tests Mohammed Thasleem
2023-03-19 18:57 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_display_modes: Add check on ENOSPC for DP MST config (rev5) Patchwork
2023-03-19 20:02 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

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