[PATCH i-g-t v5] lib/igt_kms: Add plane type verification in igt_crtc_get_plane_type
Jing-Ping Jan <[email protected]> Thu, 23 Jul 2026 17:18:02 +0800
| Newsgroups | org.freedesktop.lists.igt-dev |
|---|---|
| Message-ID | <[email protected]> |
Verify plane type matches requested type to avoid returning invalid
planes.
Fixes: 5426dc0a889a ("lib/kms: Skip rather than fail when a suitable plane can't be found")
Cc: Chris Wilson <[email protected]>
Cc: Ville Syrjälä <[email protected]>
Cc: Swati Sharma <[email protected]>
Cc: Karthik B S <[email protected]>
Signed-off-by: Jing-Ping Jan <[email protected]>
---
v5:
- update Chris's email
- update commit subject
- print found type value only
v4:
- Remove unintended changes
v3:
- Moving condition after old one
- print type string instead of enum value
v2:
- Cc Swati and Karthik.
- split condition with additional branch
lib/igt_kms.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 2eefb773b..6b4d58237 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -3537,6 +3537,13 @@ igt_plane_t *igt_crtc_get_plane_type(igt_crtc_t *crtc, int plane_type)
"Valid pipe->planes idx not found. plane_idx=%d plane_type=%d n_planes=%d\n",
plane_idx, plane_type, crtc->n_planes);
+ igt_require_f(crtc->planes[plane_idx].type == plane_type,
+ "Unexpected plane type, found plane_idx=%d, "
+ "type=%d != requested plane_type=%d (%s)\n", plane_idx,
+ crtc->planes[plane_idx].type,
+ plane_type,
+ plane_type == DRM_PLANE_TYPE_PRIMARY ? "PRIMARY" : "CURSOR");
+
return &crtc->planes[plane_idx];
}
--
2.55.0.229.g6434b31f56-goog