[PATCH v3] drm: rcar-du: track dma-buf fences

Daniel Vetter daniel at ffwll.ch
Mon Apr 30 16:05:20 UTC 2018


On Mon, Apr 30, 2018 at 02:02:04PM +0200, Emre Ucan wrote:
> We have to check dma-buf reservation objects of our framebuffers before
> we use them. Otherwise, another driver might be writing on the same
> buffer which we are using. This would cause visible tearing effects
> on display.
> 
> We can use existing atomic helper functions to solve this problem.
> 
> v2 changes:
> - Remove drm_atomic_helper_wait_for_fences() call in rcar_du_kms.c.
>   The commit_tail() function in drm_atomic_helper.c, which calls our
>   atomic_commit_tail() implementation, already calls it.
> - Remove proposed rcar_du_vsp_set_fence_for_plane() function.
>   Call drm_gem_fb_prepare_fb(), which calls
>   drm_atomic_set_fence_for_plane().
> 
> v3 changes:
> - Sort the added header file alphabetically.
> - Check return value of drm_gem_fb_prepare_fb() and clean up in the case
>   of error.
> 
> Signed-off-by: Emre Ucan <eucan at de.adit-jv.com>

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
> index 2c260c3..73c7948 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
> @@ -17,6 +17,7 @@
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_fb_cma_helper.h>
>  #include <drm/drm_gem_cma_helper.h>
> +#include <drm/drm_gem_framebuffer_helper.h>
>  #include <drm/drm_plane_helper.h>
>  
>  #include <linux/bitops.h>
> @@ -237,6 +238,10 @@ static int rcar_du_vsp_plane_prepare_fb(struct drm_plane *plane,
>  		}
>  	}
>  
> +	ret = drm_gem_fb_prepare_fb(plane, state);
> +	if (ret)
> +		goto fail;
> +
>  	return 0;
>  
>  fail:
> -- 
> 2.7.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list