[igt-dev] [PATCH i-g-t] lib/igt_kms: Clear all non-atomic properties in legacy/universal commit correctly.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Jan 31 08:58:02 UTC 2019


We used to add them all 1 by 1, but we really only care about not
handling a few.

Only skip unsetting all atomic properties, instead of handling it
through a whitelist.

This fixes kms_busy, which was updating the VRR hint, even though
we already unset it in the legacy path.

Cc: Nicholas Kazlauskas <nkazlaus at amd.com>
Cc: Harry Wentland <harry.wentland at amd.com>
Cc: Leo Li <sunpeng.li at amd.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109490
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
 lib/igt_kms.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 58f32911d999..1f98b26fcd79 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -3298,10 +3298,9 @@ display_commit_changed(igt_display_t *display, enum igt_commit_style s)
 			pipe_obj->values[IGT_CRTC_OUT_FENCE_PTR] = 0;
 			pipe_obj->changed = 0;
 		} else {
-			igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_BACKGROUND);
-			igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_CTM);
-			igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_DEGAMMA_LUT);
-			igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_GAMMA_LUT);
+			for (i = 0; i < IGT_NUM_CRTC_PROPS; i++)
+				if (!is_atomic_prop(i))
+					igt_pipe_obj_clear_prop_changed(pipe_obj, i);
 
 			if (s != COMMIT_UNIVERSAL) {
 				igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
-- 
2.20.1



More information about the igt-dev mailing list