From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxx> 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel