linux/drivers/gpu/drm/rcar-du
Laurent Pinchart d6160246f6 drm: rcar-du: Wait for flip completion instead of vblank in commit tail
Page flips can take more than one vertical blanking to complete if
arming the page flips races with the vertical blanking interrupt.
Waiting for one vblank to complete the atomic commit in the commit tail
handler is thus incorrect, and can lead to framebuffers being released
while still being scanned out.

Fix this by waiting for flip completion instead, using the
drm_atomic_helper_wait_for_flip_done() helper.

Fixes: 0d230422d256 ("drm: rcar-du: Register a completion callback with VSP1")
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
2017-08-03 16:17:26 +03:00
..
Kconfig drm: rcar-du: Add Gen3 HDMI encoder support 2017-04-04 17:04:13 +03:00
Makefile drm: rcar-du: Add Gen3 HDMI encoder support 2017-04-04 17:04:13 +03:00
rcar_du_crtc.c drm: rcar-du: Use the VBK interrupt for vblank events 2017-08-03 16:17:26 +03:00
rcar_du_crtc.h drm: rcar-du: Setup planes before enabling CRTC to avoid flicker 2017-08-03 16:17:24 +03:00
rcar_du_drv.c drm: rcar-du: Add HDMI outputs to R8A7796 device description 2017-08-03 16:17:25 +03:00
rcar_du_drv.h drm: rcar-du: Add DPLL support 2017-04-04 17:04:19 +03:00
rcar_du_encoder.c drm: Convert to using %pOF instead of full_name 2017-07-26 13:45:06 +02:00
rcar_du_encoder.h drm: rcar-du: Hardcode encoders types to DRM_MODE_ENCODER_NONE 2017-04-04 17:04:04 +03:00
rcar_du_group.c drm: rcar-du: Configure DPAD0 routing through last group on Gen3 2017-08-03 16:17:24 +03:00
rcar_du_group.h drm: rcar-du: Restart the DU group when a plane source changes 2016-02-20 02:58:55 +02:00
rcar_du_kms.c drm: rcar-du: Wait for flip completion instead of vblank in commit tail 2017-08-03 16:17:26 +03:00
rcar_du_kms.h drm/rcar-du: Update copyright notice 2014-09-15 11:34:06 +03:00
rcar_du_lvdscon.c drm: rcar-du: Use the DRM panel API 2017-04-04 17:03:56 +03:00
rcar_du_lvdscon.h drm: rcar-du: Constify node argument to rcar_du_lvds_connector_init() 2016-11-14 03:35:12 +02:00
rcar_du_lvdsenc.c drm: rcar-du: Fix comments to comply with the kernel coding style 2017-08-03 16:17:22 +03:00
rcar_du_lvdsenc.h drm: rcar-du: Add support for LVDS mode selection 2017-04-04 17:03:57 +03:00
rcar_du_plane.c drm: rcar-du: Fix comments to comply with the kernel coding style 2017-08-03 16:17:22 +03:00
rcar_du_plane.h drm: rcar-du: Fix comments to comply with the kernel coding style 2017-08-03 16:17:22 +03:00
rcar_du_regs.h drm: rcar-du: Add DPLL support 2017-04-04 17:04:19 +03:00
rcar_du_vsp.c drm: rcar-du: Support multiple sources from the same VSP 2017-08-03 16:17:22 +03:00
rcar_du_vsp.h drm: rcar-du: Support multiple sources from the same VSP 2017-08-03 16:17:22 +03:00
rcar_dw_hdmi.c drm: rcar-du: Remove an unneeded NULL check 2017-08-03 16:17:25 +03:00
rcar_lvds_regs.h drm: rcar-du: lvds: Add R-Car Gen3 support 2016-02-23 09:34:32 +02:00