[igt-dev] [PATCH i-g-t] tests/kms_concurrent: Allow the test to proceed with fewer planes
Ville Syrjala
ville.syrjala at linux.intel.com
Tue Apr 2 13:08:37 UTC 2019
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
We may not be able to enable all the planes simultaneously. In that
case just keep going with fewer planes. The test already requires
atomic so let's use TEST_ONLY unconditionally.
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
tests/kms_concurrent.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index 117016dc44e8..d82ca0404839 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -184,6 +184,7 @@ prepare_planes(data_t *data, enum pipe pipe, int max_planes,
y[primary->index] = 0;
for (i = 0; i < max_planes; i++) {
igt_plane_t *plane = igt_output_get_plane(output, i);
+ int ret;
if (plane->type == DRM_PLANE_TYPE_PRIMARY)
continue;
@@ -206,7 +207,18 @@ prepare_planes(data_t *data, enum pipe pipe, int max_planes,
igt_plane_set_position(data->plane[i], x[i], y[i]);
igt_plane_set_fb(data->plane[i], &data->fb[i]);
+
+ ret = igt_display_try_commit_atomic(&data->display, DRM_MODE_ATOMIC_TEST_ONLY, NULL);
+ if (ret) {
+ igt_plane_set_fb(data->plane[i], NULL);
+ igt_remove_fb(data->drm_fd, &data->fb[i]);
+ data->plane[i] = NULL;
+ break;
+ }
}
+ max_planes = i;
+
+ igt_assert_lt(0, max_planes);
/* primary plane */
data->plane[primary->index] = primary;
--
2.19.2
More information about the igt-dev
mailing list