Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t] lib/igt_kms: commit only the primary plane which is prepared
@ 2022-03-22 23:21 Abhinav Kumar
  2022-03-23  0:20 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Abhinav Kumar @ 2022-03-22 23:21 UTC (permalink / raw)
  To: igt-dev; +Cc: petri.latvala, swboyd, nganji, seanpaul, quic_aravindh,
	quic_khsieh

kms_atomic's test-only sub-test prepares only one primary plane
but igt_plane_commit() tries to commit all the primary planes.

For drivers having only one primary plane per display still
work fine but when there is more than one primary plane, since
FB_ID is not assigned for the second one, the API
igt_primary_plane_commit_legacy() ends up calling the CRTC
disable path incorrectly and hence failing the test.

Since only one primary plane has been prepared, commit only
that one by matching the index correctly.

Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
---
 lib/igt_kms.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 34a2aa0..98a6e1b 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -3189,6 +3189,8 @@ static int igt_plane_commit(igt_plane_t *plane,
 			    enum igt_commit_style s,
 			    bool fail_on_error)
 {
+	igt_plane_t *plane_primary = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
+
 	if (pipe->display->first_commit || (s == COMMIT_UNIVERSAL &&
 	     igt_plane_is_prop_changed(plane, IGT_PLANE_ROTATION))) {
 		int ret;
@@ -3199,7 +3201,8 @@ static int igt_plane_commit(igt_plane_t *plane,
 
 	if (plane->type == DRM_PLANE_TYPE_CURSOR && s == COMMIT_LEGACY) {
 		return igt_cursor_commit_legacy(plane, pipe, fail_on_error);
-	} else if (plane->type == DRM_PLANE_TYPE_PRIMARY && s == COMMIT_LEGACY) {
+	} else if (plane->type == DRM_PLANE_TYPE_PRIMARY && s == COMMIT_LEGACY &&
+			(plane->index == plane_primary->index)) {
 		return igt_primary_plane_commit_legacy(plane, pipe,
 						       fail_on_error);
 	} else {
-- 
2.7.4

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

end of thread, other threads:[~2022-03-23 19:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-22 23:21 [igt-dev] [PATCH i-g-t] lib/igt_kms: commit only the primary plane which is prepared Abhinav Kumar
2022-03-23  0:20 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2022-03-23  9:06 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2022-03-23 13:52 ` [igt-dev] [PATCH i-g-t] " Ville Syrjälä
2022-03-23 19:01   ` Abhinav Kumar

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