diff mbox series

drm/rockchip: Add implicit fencing support for planes

Message ID 20181130102449.6430-1-heiko@sntech.de (mailing list archive)
State New, archived
Headers show
Series drm/rockchip: Add implicit fencing support for planes | expand

Commit Message

Heiko Stuebner Nov. 30, 2018, 10:24 a.m. UTC
Render like lima will attach a fence to the framebuffer dma_buf,
so the display driver should wait for it to finish before showing
the framebufferto prevent tearing.

Generally tested on rk3188, rk3288, rk3328 and rk3399 and
together with an actual lima-based kmscube on rk3188 and rk3328.

Suggested-by: Qiang Yu <yuq825@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Neil Armstrong Dec. 12, 2018, 2:49 p.m. UTC | #1
On 30/11/2018 11:24, Heiko Stuebner wrote:
> Render like lima will attach a fence to the framebuffer dma_buf,
> so the display driver should wait for it to finish before showing
> the framebufferto prevent tearing.
> 
> Generally tested on rk3188, rk3288, rk3328 and rk3399 and
> together with an actual lima-based kmscube on rk3188 and rk3328.
> 
> Suggested-by: Qiang Yu <yuq825@gmail.com>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
>  drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index fb70fb486fbf..db8358e6d230 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -18,6 +18,7 @@
>  #include <drm/drm_crtc.h>
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_flip_work.h>
> +#include <drm/drm_gem_framebuffer_helper.h>
>  #include <drm/drm_plane_helper.h>
>  #ifdef CONFIG_DRM_ANALOGIX_DP
>  #include <drm/bridge/analogix_dp.h>
> @@ -823,6 +824,7 @@ static const struct drm_plane_helper_funcs plane_helper_funcs = {
>  	.atomic_check = vop_plane_atomic_check,
>  	.atomic_update = vop_plane_atomic_update,
>  	.atomic_disable = vop_plane_atomic_disable,
> +	.prepare_fb = drm_gem_fb_prepare_fb,
>  };
>  
>  static const struct drm_plane_funcs vop_plane_funcs = {
> 

Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Heiko Stuebner Dec. 12, 2018, 4:10 p.m. UTC | #2
Am Freitag, 30. November 2018, 11:24:49 CET schrieb Heiko Stuebner:
> Render like lima will attach a fence to the framebuffer dma_buf,
> so the display driver should wait for it to finish before showing
> the framebufferto prevent tearing.
> 
> Generally tested on rk3188, rk3288, rk3328 and rk3399 and
> together with an actual lima-based kmscube on rk3188 and rk3328.
> 
> Suggested-by: Qiang Yu <yuq825@gmail.com>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>

applied to drm-misc-next with Neils Reviewed-by


Thanks
Heiko
diff mbox series

Patch

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index fb70fb486fbf..db8358e6d230 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -18,6 +18,7 @@ 
 #include <drm/drm_crtc.h>
 #include <drm/drm_crtc_helper.h>
 #include <drm/drm_flip_work.h>
+#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_plane_helper.h>
 #ifdef CONFIG_DRM_ANALOGIX_DP
 #include <drm/bridge/analogix_dp.h>
@@ -823,6 +824,7 @@  static const struct drm_plane_helper_funcs plane_helper_funcs = {
 	.atomic_check = vop_plane_atomic_check,
 	.atomic_update = vop_plane_atomic_update,
 	.atomic_disable = vop_plane_atomic_disable,
+	.prepare_fb = drm_gem_fb_prepare_fb,
 };
 
 static const struct drm_plane_funcs vop_plane_funcs = {