[igt-dev] [PATCH i-g-t] tests/kms_invalid_mode: Fix the test for legacy platform

Nidhi Gupta nidhi1.gupta at intel.com
Thu Nov 3 03:24:58 UTC 2022


-Cleanup up the display state before starting the subtest.
-Execute the tests only for 5 modes.
-Use primary plane to set the framebuffer.

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
Signed-off-by: Nidhi Gupta <nidhi1.gupta at intel.com>
---
 tests/kms_invalid_mode.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tests/kms_invalid_mode.c b/tests/kms_invalid_mode.c
index f1c3866..492c92c 100644
--- a/tests/kms_invalid_mode.c
+++ b/tests/kms_invalid_mode.c
@@ -184,6 +184,7 @@ test_output(data_t *data)
 	struct igt_fb fb;
 	int ret;
 	drmModeModeInfo *mode;
+	igt_plane_t *primary;
 
 	igt_display_reset(&data->display);
 	igt_output_set_pipe(output, data->pipe);
@@ -192,7 +193,14 @@ test_output(data_t *data)
 		      DRM_FORMAT_MOD_LINEAR,
 		      &fb);
 
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+	igt_plane_set_fb(primary, &fb);
+
 	for_each_connector_mode(output) {
+		igt_output_override_mode(output, NULL);
+		igt_display_commit(&data->display);
+		if (j__ > 5)
+			break;
 		mode = &output->config.connector->modes[j__];
 		igt_require(data->adjust_mode(data, mode));
 		igt_output_override_mode(output, mode);
@@ -200,9 +208,11 @@ test_output(data_t *data)
 		igt_assert(ret == -EINVAL);
 	}
 
+	/* Cleanup */
 	igt_remove_fb(data->drm_fd, &fb);
+	igt_plane_set_fb(primary, NULL);
 	igt_output_override_mode(output, NULL);
-	/*unset_all_crtcs*/
+	igt_output_set_pipe(output, PIPE_NONE);
 	igt_display_commit(&data->display);
 }
 
-- 
1.9.1



More information about the igt-dev mailing list