diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2019-01-31 09:31:07 +0100 |
---|---|---|
committer | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2019-02-01 10:54:44 +0100 |
commit | 5ce2b9cbcd71af4bd14bff0ac9c62453c8bdc3ce (patch) | |
tree | b35fc429c0694b0f6e3964dd3bee74168def69d3 /lib/igt_kms.c | |
parent | c8eb378cd55bfa6b9e059a5231e81b701befe81d (diff) |
lib/igt_kms: Clear all non-atomic properties in legacy/universal commit correctly.
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@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109490
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Diffstat (limited to 'lib/igt_kms.c')
-rw-r--r-- | lib/igt_kms.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c index 71df98d2..d45b01bd 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -3223,10 +3223,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); |