linux/drivers/gpu/drm/vc4
Eric Anholt 6674a904d6 drm/vc4: Add a proper short-circut path for legacy cursor updates.
Previously, on every modeset we would allocate new display list
memory, recompute changed planes, write all of them to the new memory,
and pointed scanout at the new list (which will latch approximately at
the next line of scanout).  We let
drm_atomic_helper_wait_for_vblanks() decide whether we needed to wait
for a vblank after a modeset before cleaning up the old state and
letting the next modeset proceed, and on legacy cursor updates we
wouldn't wait.  If you moved the cursor fast enough, we could
potentially wrap around the display list memory area and overwrite the
existing display list while it was still being scanned out, resulting
in the HVS scanning out garbage or just halting.

Instead of making cursor updates wait for scanout to move to the new
display list area (which introduces significant cursor lag in X), we
just rewrite our current display list.

Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-16 11:24:08 -08:00
..
Kconfig dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
Makefile drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_bo.c drm/vc4: Add an API for creating GPU shaders in GEM BOs. 2015-12-07 20:05:09 -08:00
vc4_crtc.c drm/vc4: Nuke preclose hook 2016-02-08 09:55:53 +01:00
vc4_debugfs.c drm/vc4: Bind and initialize the V3D engine. 2015-12-07 20:05:10 -08:00
vc4_drv.c drm/vc4: Nuke preclose hook 2016-02-08 09:55:53 +01:00
vc4_drv.h drm/vc4: Nuke preclose hook 2016-02-08 09:55:53 +01:00
vc4_gem.c drm/vc4: fix an error code 2015-12-17 11:40:30 -08:00
vc4_hdmi.c drm: Pass 'name' to drm_encoder_init() 2015-12-11 09:13:20 +01:00
vc4_hvs.c drm/vc4: Fix some failure to track __iomem decorations on pointers. 2015-11-17 12:26:59 -08:00
vc4_irq.c drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_kms.c drm/vc4: Add a proper short-circut path for legacy cursor updates. 2016-02-16 11:24:08 -08:00
vc4_packet.h drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_plane.c drm/vc4: Add a proper short-circut path for legacy cursor updates. 2016-02-16 11:24:08 -08:00
vc4_qpu_defines.h drm/vc4: Add an API for creating GPU shaders in GEM BOs. 2015-12-07 20:05:09 -08:00
vc4_regs.h drm/vc4: Fix a typo in a V3D debug register. 2015-12-07 20:05:09 -08:00
vc4_render_cl.c drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08: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: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_v3d.c drm/vc4: Remove broken attempt at GPU reset using genpd. 2016-01-19 13:16:31 -08:00
vc4_validate_shaders.c drm/vc4: Add an API for creating GPU shaders in GEM BOs. 2015-12-07 20:05:09 -08:00
vc4_validate.c drm/vc4: fix warning in validate printf. 2016-01-17 18:32:31 -08:00