[PATCH i-g-t v5] tests/kms_tiled_display: Skip if connectors are not of same type

Pranay Samala pranay.samala at intel.com
Tue Jun 17 06:37:27 UTC 2025


Tiled displays expose each tile as a separate DRM connector, requiring
correct grouping using tile metadata. However, when multiple identical
monitors or dummy plugs (e.g., HDMI and DP) report the same tile_group_id
and positions, it's ambiguous which tiles belong together.

This can lead to invalid groupings across different connector types
(e.g., using dummy HDMI and DP plugs that both advertise tiled displays),
causing test failures. To mitigate this, restrict tile selection to
DisplayPort connectors only which is only type that properly supports
tiled displays.

v2: Replace igt_assert with igt_skip_on_f to skip the test.
v3: Edit port sync supported in commit message (Ankit)
    Check if connector type is DRM_MODE_CONNECTOR_Unknown (Ankit)
v4: Rebase and remove connector_type check (Ankit)
v5: Restrict only to DisplayPort connector (Ankit)
    Update the commit message (Ankit)

Signed-off-by: Pranay Samala <pranay.samala at intel.com>
---
 tests/kms_tiled_display.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c
index 1f5331408..4fb8be1d5 100644
--- a/tests/kms_tiled_display.c
+++ b/tests/kms_tiled_display.c
@@ -159,16 +159,24 @@ static void get_connectors(data_t *data)
 		get_connector_tile_props(data, conns[count].connector,
 					 &conns[count].tile);
 
-		if (conns[count].tile.num_h_tile == 0) {
+		if (conns[count].tile.num_h_tile == 0 ||
+		    conns[count].connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort) {
 			drmModeFreeConnector(conns[count].connector);
 			continue;
 		}
 
 		/* Check if the connectors belong to the same tile group */
-		if (count > 0)
+		if (count > 0) {
 			igt_assert(conns[count].tile.tile_group_id ==
 				   conns[count-1].tile.tile_group_id);
 
+			igt_skip_on_f(conns[count - 1].connector->connector_type !=
+				      conns[count].connector->connector_type,
+				      "Connector type mismatch: Expected %d, but got %d\n",
+				      conns[count - 1].connector->connector_type,
+				      conns[count].connector->connector_type);
+		}
+
 		count++;
 	}
 	igt_require_f(count == data->num_h_tiles,
-- 
2.34.1



More information about the igt-dev mailing list