linux/drivers/gpu/drm/vc4
Boris Brezillon 184d3cf4f7 drm/vc4: Use wait_for_flip_done() instead of wait_for_vblanks()
drm_atomic_helper_wait_for_vblanks() assumes the CRTC will continuously
generate VBLANK events and the vblank counter will keep increasing.
While this work for a regular pipeline, it doesn't when you have the
CRTC is feeding the transposer block, because this block works in
oneshot mode, and, by the time we reach
drm_atomic_helper_wait_for_vblanks() the only VBLANK event might have
already been sent and the VBLANK counter will stay unchanged, thus
triggering a timeout.

Luckily, we can replace the drm_atomic_helper_wait_for_vblanks() call
by drm_atomic_helper_wait_for_flip_done() because the only thing we
want to check when calling drm_atomic_helper_wait_for_vblanks() from
vc4_atomic_complete_commit() is that new FBs are in use and the old
ones can be safely released.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-5-boris.brezillon@bootlin.com
2018-07-07 07:52:41 +02:00
..
Kconfig drm/vc4: add HDMI CEC support 2017-07-26 12:15:12 -07:00
Makefile drm/vc4: Expose performance counters to userspace 2018-02-10 22:23:26 +00:00
vc4_bo.c gpu: drm: vc4: Adding new typedef vm_fault_t 2018-06-21 13:01:50 -07:00
vc4_crtc.c drm/vc4: Use drm_crtc_mask() 2018-07-02 18:45:56 +03:00
vc4_debugfs.c drm/vc4: Add DSI driver 2017-02-01 12:51:23 -08:00
vc4_dpi.c drm/vc4: Fix oops dereferencing DPI's connector since panel_bridge. 2018-05-07 10:19:11 -04:00
vc4_drv.c drm for v4.18-rc1 2018-06-06 08:16:33 -07:00
vc4_drv.h gpu: drm: vc4: Adding new typedef vm_fault_t 2018-06-21 13:01:50 -07:00
vc4_dsi.c drm/vc4: Make DSI call into the bridge after the DSI link is enabled. 2018-06-29 13:42:09 -07:00
vc4_fence.c drm/vc4: Remove unecessary dma_fence_ops 2018-07-03 13:14:10 +02:00
vc4_gem.c drm/vc4: Add a pad field to align drm_vc4_submit_cl to 64 bits. 2018-05-03 15:20:09 -07:00
vc4_hdmi.c sound updates for 4.17-rc1 2018-04-05 10:42:07 -07:00
vc4_hvs.c drm/vc4: Add CTM registers to debugfs 2018-04-23 11:50:22 -07:00
vc4_irq.c drm/vc4: Expose performance counters to userspace 2018-02-10 22:23:26 +00:00
vc4_kms.c drm/vc4: Use wait_for_flip_done() instead of wait_for_vblanks() 2018-07-07 07:52:41 +02:00
vc4_packet.h drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_perfmon.c drm/vc4: Expose performance counters to userspace 2018-02-10 22:23:26 +00:00
vc4_plane.c drm: add missing ctx argument to plane transitional helpers 2018-07-03 09:30:19 +02:00
vc4_qpu_defines.h drm/vc4: Fix definition of QPU_R_MS_REV_FLAGS 2016-07-15 15:19:52 -07:00
vc4_regs.h drm/vc4: Add support for SAND modifier. 2018-05-31 11:42:44 -07:00
vc4_render_cl.c drm/vc4: Add exec flags to allow forcing a specific X/Y tile walk order. 2017-08-08 13:26:44 -07:00
vc4_trace_points.c drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_trace.h drm/vc4: Use correct path to trace include 2017-09-05 11:11:20 +02:00
vc4_v3d.c drm/vc4: make function vc4_allocate_bin_bo static 2018-04-30 10:59:00 -07:00
vc4_validate_shaders.c drm/vc4: Fix memory leak during BO teardown 2018-04-09 12:42:08 -07:00
vc4_validate.c drm/vc4_validate: Remove VLA usage 2018-03-16 15:51:52 -07:00
vc4_vec.c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00