Hello, The recent changes to the rcar-du driver to fix a page flip handling race condition changed the order of which vblanks and page flips are handled, resulting in incorrect timestamps being reported in the vblan events. Correct this by handling vblank events in the same completion handler as page flips. Compared to v2 patch 3/4 is completely rewritten with a new approach, as the previous one caused flip timeouts for a currently unknown reason. This version now uses the vertical blanking interrupt to handle the CRTC stop race regardless of the generation of the SoC. As a result drm_atomic_helper_wait_for_vblanks() can't be used anymore to wait for completion of a page flip or CRTC disable. I've thus included the previously posted patch "drm: rcar-du: Wait for flip completion instead of vblank in commit tail" in this series. I still plan to investigate why the original version caused issues, as I believe it went in the right direction. For now this series should do, as it doesn't introduce any hack and passes all tests properly. Kieran Bingham (1): drm: rcar-du: Repair vblank for DRM page flips using the VSP Laurent Pinchart (3): drm: rcar-du: Use the VBK interrupt for vblank events drm: rcar-du: Wait for flip completion instead of vblank in commit tail drm: rcar-du: Fix race condition when disabling planes at CRTC stop drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 66 +++++++++++++++++++++++++++----- drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 10 +++++ drivers/gpu/drm/rcar-du/rcar_du_kms.c | 2 +- drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 8 +++- drivers/media/platform/vsp1/vsp1_drm.c | 5 ++- drivers/media/platform/vsp1/vsp1_drm.h | 2 +- drivers/media/platform/vsp1/vsp1_pipe.c | 20 +++++----- drivers/media/platform/vsp1/vsp1_pipe.h | 2 +- drivers/media/platform/vsp1/vsp1_video.c | 6 ++- include/media/vsp1.h | 2 +- 10 files changed, 95 insertions(+), 28 deletions(-) -- Regards, Laurent Pinchart