All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/7] drm: asynchronous atomic plane update
@ 2017-04-10  0:24 Gustavo Padovan
  2017-04-10  0:24 ` [RFC 1/7] drm/atomic: initial support for asynchronous " Gustavo Padovan
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Gustavo Padovan @ 2017-04-10  0:24 UTC (permalink / raw)
  To: dri-devel; +Cc: Gustavo Padovan

From: Gustavo Padovan <gustavo.padovan@collabora.com>

Hi,

First version of Asynchronous Plane Update 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 and there can't
be any update for that plane in the current pending commit. 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. i915 have been converted and I've been using the it for four days
already without any problem. I tried to run i-g-t on it but as of now
drm-misc-next is failing a bit already. I'll get back to this for v2.
vc4 and msm are only build tested.

TODO

 - async updates when an update for the same plane is already queued
 - improve i-g-t tests where needed
 - support async page flips (that can be done after uptreaming this part)

Comments are welcome!

Regards,

Gustavo

---
Gustavo Padovan (7):
  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

 drivers/gpu/drm/drm_atomic.c              |  75 ++++++++++++++
 drivers/gpu/drm/drm_atomic_helper.c       |  41 ++++++++
 drivers/gpu/drm/i915/intel_atomic_plane.c |  58 +++++++++++
 drivers/gpu/drm/i915/intel_display.c      | 158 ++++------------------------
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 165 ++++++++++--------------------
 drivers/gpu/drm/vc4/vc4_plane.c           |  94 +++++------------
 drivers/gpu/drm/virtio/virtgpu_plane.c    |  42 ++++++++
 include/drm/drm_atomic.h                  |   4 +
 include/drm/drm_atomic_helper.h           |   2 +
 include/drm/drm_modeset_helper_vtables.h  |  47 +++++++++
 10 files changed, 373 insertions(+), 313 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] 20+ messages in thread

end of thread, other threads:[~2017-05-18 22:56 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-10  0:24 [RFC 0/7] drm: asynchronous atomic plane update Gustavo Padovan
2017-04-10  0:24 ` [RFC 1/7] drm/atomic: initial support for asynchronous " Gustavo Padovan
2017-04-10  7:13   ` Emil Velikov
2017-04-10  9:39     ` Gustavo Padovan
2017-04-10 19:55   ` Eric Anholt
2017-04-11 20:23     ` Daniel Vetter
2017-04-12 18:17       ` Gustavo Padovan
2017-04-21 18:41       ` Gustavo Padovan
2017-05-02  8:10         ` Daniel Vetter
2017-05-02 10:58           ` Daniel Stone
2017-04-10  0:24 ` [RFC 2/7] drm/virtio: support async cursor updates Gustavo Padovan
2017-04-10  0:24 ` [RFC 3/7] drm/i915: update cursors asynchronously through atomic Gustavo Padovan
2017-04-10  0:24 ` [RFC 4/7] drm/i915: remove intel_cursor_plane_funcs Gustavo Padovan
2017-04-10  0:24 ` [RFC 5/7] drm/msm: update cursors asynchronously through atomic Gustavo Padovan
2017-04-10  0:24 ` [RFC 6/7] drm/msm: remove mdp5_cursor_plane_funcs Gustavo Padovan
2017-04-10  0:24 ` [RFC 7/7] drm/vc4: update cursors asynchronously through atomic Gustavo Padovan
2017-04-10 20:06   ` Eric Anholt
2017-04-11 20:27     ` Daniel Vetter
2017-05-18 22:52   ` Robert Foss
2017-05-18 22:55     ` Robert Foss

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.