Re: [PATCH] drm: atomic: fix legacy gamma set helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 8 Apr 2016 18:17:51 +0100
Lionel Landwerlin <lionel.g.landwerlin@xxxxxxxxx> wrote:

> Color management properties are a bit of an odd use case because
> they're not marked as atomic properties. Currently we're not updating
> the non atomic values so the drm_crtc_state is out of sync with the
> values stored in the crtc object.
> 
> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
> Cc: Bob Paauwe <bob.j.paauwe@xxxxxxxxx>
> Cc: <dri-devel@xxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@xxxxxxxxx>
> ---
>  drivers/gpu/drm/drm_atomic_helper.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index 7bf678e..4aacd44 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -2964,16 +2964,22 @@ retry:
>  			config->degamma_lut_property, 0);
>  	if (ret)
>  		goto fail;
> +	drm_object_property_set_value(&crtc->base,
> +			config->degamma_lut_property, 0);
>  
>  	ret = drm_atomic_crtc_set_property(crtc, crtc_state,
>  			config->ctm_property, 0);
>  	if (ret)
>  		goto fail;
> +	drm_object_property_set_value(&crtc->base,
> +			config->ctm_property, 0);
>  
>  	ret = drm_atomic_crtc_set_property(crtc, crtc_state,
>  			config->gamma_lut_property, blob->base.id);
>  	if (ret)
>  		goto fail;
> +	drm_object_property_set_value(&crtc->base,
> +			config->gamma_lut_property, blob->base.id);
>  

This is similar to what I originally did to fix this problem.
But if the commit below fails, you've now changed the non atomic
values, but the atomic values would be reverted back to the original
state so they're out of sync again.  So just moving the set_value calls
to after the commit succeeds might be a better solution.

>  	ret = drm_atomic_commit(state);
>  	if (ret)



-- 
--
Bob Paauwe                  
Bob.J.Paauwe@xxxxxxxxx
IOTG / PED Software Organization
Intel Corp.  Folsom, CA
(916) 356-6193    

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux