[PATCH v3 0/4] drm: rcar-du: Repair vblank event handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux