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

Petri Latvala petri.latvala at intel.com
Thu Jan 31 10:26:28 UTC 2019


On Thu, Jan 31, 2019 at 09:58:02AM +0100, Maarten Lankhorst wrote:
> 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);


Does IGT_CRTC_VRR_ENABLED need to be added to is_atomic_prop?

...

No, that's not a "is this an atomic-only property", is it?


Anyway, the effect matches the second chunk of Nicholas's patch.


Reviewed-by: Petri Latvala <petri.latvala at intel.com>

There's some queue in shards so stand by a couple of hours for their results before merging.



>  
>  			if (s != COMMIT_UNIVERSAL) {
>  				igt_pipe_obj_clear_prop_changed(pipe_obj, IGT_CRTC_MODE_ID);
> -- 
> 2.20.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev


More information about the igt-dev mailing list