linux/drivers/gpu/drm/rcar-du
Laurent Pinchart 911316fe2f drm: rcar-du: Disable all planes when stopping the CRTC
The DSnPR plane configuration registers are updated on vblank, and no
vblank will occur once the CRTC is stopped. We thus can't only disable
planes right before starting the CRTC as it would start scanning out
immediately from old frame buffers until the next vblank.

Fix the problem by disabling all planes when stopping the CRTC and wait
for the change to take effect. This increases the CRTC stop delay,
especially when multiple CRTCs are stopped in one operation as we now
wait for one vblank per CRTC. Whether this can be improved needs to be
researched.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2015-06-16 14:15:47 +03:00
..
Kconfig drm: Kconfig: Let all DRM_GEM_CMA_HELPER related macros depend on HAVE_DMA_ATTRS 2015-02-03 11:12:37 +10:00
Makefile drm: rcar-du: Add HDMI encoder and connector support 2014-11-26 20:09:38 +02:00
rcar_du_crtc.c drm: rcar-du: Disable all planes when stopping the CRTC 2015-06-16 14:15:47 +03:00
rcar_du_crtc.h drm: rcar-du: Document the rcar_du_crtc structure 2015-05-25 15:34:10 +03:00
rcar_du_drv.c drm: rcar-du: Print the error value when DRM/KMS init fails 2015-06-16 14:15:47 +03:00
rcar_du_drv.h drm: rcar-du: Move properties from rcar_du_planes to rcar_du_device 2015-05-25 15:34:11 +03:00
rcar_du_encoder.c drm: rcar-du: Replace encoder mode_fixup with atomic_check 2015-03-03 16:16:21 +02:00
rcar_du_encoder.h drm: rcar-du: Add HDMI encoder and connector support 2014-11-26 20:09:38 +02:00
rcar_du_group.c drm: rcar-du: Keep plane to CRTC associations when disabling a plane 2015-05-25 15:34:12 +03:00
rcar_du_group.h drm: rcar-du: Store the number of CRTCs per group in the group structure 2015-05-25 15:34:12 +03:00
rcar_du_hdmicon.c drm: rcar-du: Switch connector DPMS to atomic helpers 2015-03-03 16:16:20 +02:00
rcar_du_hdmicon.h drm: rcar-du: Add HDMI encoder and connector support 2014-11-26 20:09:38 +02:00
rcar_du_hdmienc.c drm: rcar-du: Replace encoder mode_fixup with atomic_check 2015-03-03 16:16:21 +02:00
rcar_du_hdmienc.h drm: rcar-du: Add HDMI encoder and connector support 2014-11-26 20:09:38 +02:00
rcar_du_kms.c drm: rcar-du: Split planes pre-association 4/4 between CRTCs 2015-05-25 15:34:13 +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: Switch connector DPMS to atomic helpers 2015-03-03 16:16:20 +02:00
rcar_du_lvdscon.h drm: rcar-du: Remove platform data support 2014-11-26 20:09:36 +02:00
rcar_du_lvdsenc.c drm: rcar-du: Replace LVDS encoder DPMS by enable/disable 2015-03-03 16:16:14 +02:00
rcar_du_lvdsenc.h drm: rcar-du: Replace LVDS encoder DPMS by enable/disable 2015-03-03 16:16:14 +02:00
rcar_du_plane.c drm: rcar-du: Store the number of CRTCs per group in the group structure 2015-05-25 15:34:12 +03:00
rcar_du_plane.h drm: rcar-du: Rename to_rcar_du_plane_state to to_rcar_plane_state 2015-05-25 15:34:11 +03:00
rcar_du_regs.h drm: rcar-du: Implement support for interlaced modes 2014-12-23 12:01:52 +02:00
rcar_du_vgacon.c drm: rcar-du: Switch connector DPMS to atomic helpers 2015-03-03 16:16:20 +02:00
rcar_du_vgacon.h drm/rcar-du: Update copyright notice 2014-09-15 11:34:06 +03:00
rcar_lvds_regs.h drm/rcar-du: Add internal LVDS encoder support 2013-08-09 23:17:53 +02:00