[PATCH] drm/stm: ltdc: update planes at next vblank to avoid partial refresh

Philippe CORNU philippe.cornu at st.com
Mon Apr 1 09:22:51 UTC 2019


Dear Yannick,
Thank you for your patch, works fine,

Acked-by: Philippe Cornu <philippe.cornu at st.com>

Philippe :-)

On 4/1/19 9:24 AM, Yannick Fertré wrote:
> Plane updates must be synchronized on vblank with the shadow register mechanism
> to avoid partial refresh on screen.
> 
> Signed-off-by: Yannick Fertré <yannick.fertre at st.com>
> ---
>   drivers/gpu/drm/stm/ltdc.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
> index b1741a9..c2d0800 100644
> --- a/drivers/gpu/drm/stm/ltdc.c
> +++ b/drivers/gpu/drm/stm/ltdc.c
> @@ -426,8 +426,8 @@ static void ltdc_crtc_atomic_enable(struct drm_crtc *crtc,
>   	/* Enable IRQ */
>   	reg_set(ldev->regs, LTDC_IER, IER_RRIE | IER_FUIE | IER_TERRIE);
>   
> -	/* Immediately commit the planes */
> -	reg_set(ldev->regs, LTDC_SRCR, SRCR_IMR);
> +	/* Commit shadow registers = update planes at next vblank */
> +	reg_set(ldev->regs, LTDC_SRCR, SRCR_VBR);
>   
>   	/* Enable LTDC */
>   	reg_set(ldev->regs, LTDC_GCR, GCR_LTDCEN);
> 


More information about the dri-devel mailing list