[RFC v3 0/8] drm/atomic: add async plane update
Gustavo Padovan
gustavo at padovan.org
Fri May 12 19:10:46 UTC 2017
From: Gustavo Padovan <gustavo.padovan at collabora.com>
Hi,
One more take of Asynchronous Plane Updates over Atomic. Here I looked
to msm, vc4 and i915 to identify a common pattern to create atomic helpers
for async updates. So in patch 1 drm_atomic_async_check() and
drm_atomic_helper_async_commit() are introduced along with driver's plane hooks:
->atomic_async_check() and ->atomic_async_commit().
For now we only support async update for one plane at a time. Also the async
update can't modify the CRTC so no modesets are allowed.
Then the other patches add support for it in the drivers. I did virtio mostly
for testing. msm and vc4 are only compile-tested.
I started IGT changes to test the Atomic IOCTL with the new flag:
https://git.collabora.com/cgit/user/padovan/intel-gpu-tools.git/
Support for async page flips and drm core workers to delay plane/fb clean up
are not plane for this patchset.
TODO
* improve i-g-t tests where needed
Gustavo Padovan (8):
drm/atomic: initial support for asynchronous plane update
drm/virtio: support async cursor updates
drm/i915: update cursors asynchronously through atomic
drm/i915: remove intel_cursor_plane_funcs
drm/msm: update cursors asynchronously through atomic
drm/msm: remove mdp5_cursor_plane_funcs
drm/vc4: update cursors asynchronously through atomic
drm/atomic: add ASYNC_UPDATE flag to the Atomic IOCTL
drivers/gpu/drm/drm_atomic.c | 71 +++++++++++++
drivers/gpu/drm/drm_atomic_helper.c | 48 +++++++++
drivers/gpu/drm/i915/intel_atomic_plane.c | 67 ++++++++++++
drivers/gpu/drm/i915/intel_display.c | 160 +++++-----------------------
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 170 +++++++++++-------------------
drivers/gpu/drm/vc4/vc4_plane.c | 96 ++++++-----------
drivers/gpu/drm/virtio/virtgpu_plane.c | 48 +++++++++
include/drm/drm_atomic.h | 2 +
include/drm/drm_atomic_helper.h | 2 +
include/drm/drm_modeset_helper_vtables.h | 48 +++++++++
include/uapi/drm/drm_mode.h | 4 +-
11 files changed, 404 insertions(+), 312 deletions(-)
--
2.9.3
More information about the dri-devel
mailing list