dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [RFC v3 0/8] drm/atomic: add async plane update
@ 2017-05-12 19:10 Gustavo Padovan
  2017-05-12 19:10 ` [RFC v3 1/8] drm/atomic: initial support for asynchronous " Gustavo Padovan
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Gustavo Padovan @ 2017-05-12 19:10 UTC (permalink / raw)
  To: dri-devel; +Cc: Gustavo Padovan

From: Gustavo Padovan <gustavo.padovan@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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-05-19  5:54 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-12 19:10 [RFC v3 0/8] drm/atomic: add async plane update Gustavo Padovan
2017-05-12 19:10 ` [RFC v3 1/8] drm/atomic: initial support for asynchronous " Gustavo Padovan
2017-05-12 19:10 ` [RFC v3 2/8] drm/virtio: support async cursor updates Gustavo Padovan
2017-05-12 19:10 ` [RFC v3 3/8] drm/i915: update cursors asynchronously through atomic Gustavo Padovan
2017-05-12 19:10 ` [RFC v3 4/8] drm/i915: remove intel_cursor_plane_funcs Gustavo Padovan
2017-05-12 19:10 ` [RFC v3 5/8] drm/msm: update cursors asynchronously through atomic Gustavo Padovan
2017-05-16 14:44   ` Archit Taneja
2017-05-17  5:26     ` Archit Taneja
2017-05-17 11:35       ` Daniel Vetter
2017-05-19  5:54         ` Archit Taneja
2017-05-12 19:10 ` [RFC v3 6/8] drm/msm: remove mdp5_cursor_plane_funcs Gustavo Padovan
2017-05-16 14:46   ` Archit Taneja
2017-05-12 19:10 ` [RFC v3 7/8] drm/vc4: update cursors asynchronously through atomic Gustavo Padovan
2017-05-18 22:54   ` Robert Foss
2017-05-12 19:10 ` [RFC v3 8/8] drm/atomic: add ASYNC_UPDATE flag to the Atomic IOCTL Gustavo Padovan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).