All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/6] drm/fences: add in-fences to DRM
@ 2016-03-23 18:47 ` Gustavo Padovan
  0 siblings, 0 replies; 73+ messages in thread
From: Gustavo Padovan @ 2016-03-23 18:47 UTC (permalink / raw)
  To: dri-devel
  Cc: Daniel Stone, Daniel Vetter, Arve Hjønnevåg,
	linux-kernel, Riley Andrews, Gustavo Padovan, John Harrison

From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

Hi,

This is a first proposal to discuss the addition of in-fences support
to DRM. It adds a new struct to fence.c to abstract the use of sync_file
in DRM drivers. The new struct fence_collection contains a array with all
fences that a atomic commit needs to wait on

/**
 * struct fence_collection - aggregate fences together
 * @num_fences: number of fence in the collection.
 * @user_data: user data.
 * @func: user callback to put user data.
 * @fences: array of @num_fences fences.
 */
struct fence_collection {
       int num_fences;
       void *user_data;
       collection_put_func_t func;
       struct fence *fences[];
};


The fence_collection is allocated and filled by sync_file_fences_get() and
atomic_commit helpers can use fence_collection_wait() to wait the fences to
signal.

These patches depends on the sync ABI rework:

https://www.spinics.net/lists/dri-devel/msg102795.html

and the patch to de-stage the sync framework:

https://www.spinics.net/lists/dri-devel/msg102799.html


I also hacked together some sync support into modetest for testing:

https://git.collabora.com/cgit/user/padovan/libdrm.git/log/?h=atomic


	Gustavo


Gustavo Padovan (6):
  drm/fence: add FENCE_FD property to planes
  dma-buf/fence: add struct fence_collection
  dma-buf/sync_file: add sync_file_fences_get()
  dma-buf/fence: add fence_collection_put()
  dma-buf/fence: add fence_collection_wait()
  drm/fence: support fence_collection on atomic commit

 drivers/dma-buf/fence.c             | 33 +++++++++++++++++++++++++++++++++
 drivers/dma-buf/sync_file.c         | 36 ++++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_atomic.c        | 13 +++++++++++++
 drivers/gpu/drm/drm_atomic_helper.c | 10 ++++++----
 drivers/gpu/drm/drm_crtc.c          |  7 +++++++
 include/drm/drm_crtc.h              |  5 ++++-
 include/linux/fence.h               | 19 +++++++++++++++++++
 include/linux/sync_file.h           |  8 ++++++++
 8 files changed, 126 insertions(+), 5 deletions(-)

-- 
2.5.0

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

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

end of thread, other threads:[~2016-04-05 15:23 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-23 18:47 [RFC 0/6] drm/fences: add in-fences to DRM Gustavo Padovan
2016-03-23 18:47 ` Gustavo Padovan
2016-03-23 18:47 ` [RFC 1/6] drm/fence: add FENCE_FD property to planes Gustavo Padovan
2016-03-23 18:47   ` Gustavo Padovan
2016-03-24  7:52   ` Inki Dae
2016-04-05 12:36   ` Rob Clark
2016-04-05 12:57     ` Daniel Stone
2016-04-05 12:57       ` Daniel Stone
2016-04-05 14:04       ` Rob Clark
2016-04-05 14:04         ` Rob Clark
2016-04-05 14:19         ` Daniel Stone
2016-04-05 14:19           ` Daniel Stone
2016-04-05 15:23           ` Rob Clark
2016-04-05 15:23             ` Rob Clark
2016-03-23 18:47 ` [RFC 2/6] dma-buf/fence: add struct fence_collection Gustavo Padovan
2016-03-23 18:47   ` Gustavo Padovan
2016-03-23 18:47 ` [RFC 3/6] dma-buf/sync_file: add sync_file_fences_get() Gustavo Padovan
2016-03-23 18:47   ` Gustavo Padovan
2016-03-23 18:47 ` [RFC 4/6] dma-buf/fence: add fence_collection_put() Gustavo Padovan
2016-03-23 18:47   ` Gustavo Padovan
2016-03-23 18:47 ` [RFC 5/6] dma-buf/fence: add fence_collection_wait() Gustavo Padovan
2016-03-23 18:47 ` [RFC 6/6] drm/fence: support fence_collection on atomic commit Gustavo Padovan
2016-03-23 18:47   ` Gustavo Padovan
2016-03-24  7:20 ` [RFC 0/6] drm/fences: add in-fences to DRM Maarten Lankhorst
2016-03-24  7:20   ` Maarten Lankhorst
2016-03-24  8:13   ` zhoucm1
2016-03-24 14:31   ` Gustavo Padovan
2016-03-24 14:31     ` Gustavo Padovan
2016-03-24  8:18 ` Inki Dae
2016-03-24  8:18   ` Inki Dae
2016-03-24 14:39   ` Gustavo Padovan
2016-03-24 14:39     ` Gustavo Padovan
2016-03-24 23:03     ` Inki Dae
2016-03-24 23:03       ` Inki Dae
2016-03-24 15:40   ` Rob Clark
2016-03-24 15:40     ` Rob Clark
2016-03-24 23:49     ` Inki Dae
2016-03-24 23:49       ` Inki Dae
2016-03-25 11:58       ` Rob Clark
2016-03-25 11:58         ` Rob Clark
2016-03-25 12:10         ` Daniel Stone
2016-03-25 12:10           ` Daniel Stone
2016-03-28  1:26           ` Inki Dae
2016-03-28  1:26             ` Inki Dae
2016-03-28 13:26             ` Daniel Stone
2016-03-29  2:18               ` Inki Dae
2016-03-29  2:18                 ` Inki Dae
2016-03-29 13:23                 ` Rob Clark
2016-03-29 13:23                   ` Rob Clark
2016-03-31  7:45                   ` Inki Dae
2016-03-31  7:45                     ` Inki Dae
2016-03-31  9:35                     ` Daniel Stone
2016-03-31  9:35                       ` Daniel Stone
2016-03-31 10:04                       ` Daniel Vetter
2016-03-31 10:04                         ` Daniel Vetter
2016-03-31 11:40                         ` Inki Dae
2016-03-31 11:40                           ` Inki Dae
2016-03-31 10:05                       ` Inki Dae
2016-03-31 10:05                         ` Inki Dae
2016-03-31 10:56                         ` Daniel Stone
2016-03-31 10:56                           ` Daniel Stone
2016-03-31 11:26                           ` Inki Dae
2016-03-31 11:26                             ` Inki Dae
2016-03-31 11:41                             ` Daniel Stone
2016-03-31 11:41                               ` Daniel Stone
2016-03-31 14:10                             ` Rob Clark
2016-03-31 14:10                               ` Rob Clark
2016-04-04  0:14                               ` Inki Dae
2016-04-04  0:14                                 ` Inki Dae
2016-04-04 15:41                                 ` Rob Clark
2016-04-04 15:41                                   ` Rob Clark
2016-04-04 15:46                                   ` Rob Clark
2016-04-04 15:46                                     ` Rob Clark

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.