On Wed, Jun 01, 2016 at 09:54:04PM +0530, Sumit Semwal wrote: > Hi Christian, Gustavo, > > Thanks for these patches. > > On 1 June 2016 at 20:55, Gustavo Padovan <gustavo@xxxxxxxxxxx> wrote: > > 2016-06-01 Christian König <deathsimple@xxxxxxxxxxx>: > > > >> From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > >> > >> struct fence_collection inherits from struct fence and carries a > >> collection of fences that needs to be waited together. > >> > >> It is useful to translate a sync_file to a fence to remove the complexity > >> of dealing with sync_files on DRM drivers. So even if there are many > >> fences in the sync_file that needs to waited for a commit to happen, > >> they all get added to the fence_collection and passed for DRM use as > >> a standard struct fence. > >> > >> That means that no changes needed to any driver besides supporting fences. > >> > >> fence_collection's fence doesn't belong to any timeline context, so > >> fence_is_later() and fence_later() are not meant to be called with > >> fence_collections fences. > >> > >> v2: Comments by Daniel Vetter: > >> - merge fence_collection_init() and fence_collection_add() > >> - only add callbacks at ->enable_signalling() > >> - remove fence_collection_put() > >> - check for type on to_fence_collection() > >> - adjust fence_is_later() and fence_later() to WARN_ON() if they > >> are used with collection fences. > >> > >> v3: - Initialize fence_cb.node at fence init. > >> > >> Comments by Chris Wilson: > >> - return "unbound" on fence_collection_get_timeline_name() > >> - don't stop adding callbacks if one fails > >> - remove redundant !! on fence_collection_enable_signaling() > >> - remove redundant () on fence_collection_signaled > >> - use fence_default_wait() instead > >> > >> v4 (chk): Rework, simplification and cleanup: > >> - Drop FENCE_NO_CONTEXT handling, always allocate a context. > >> - Rename to fence_array. > >> - Return fixed driver name. > >> - Register only one callback at a time. > >> - Document that create function takes ownership of array. > >> > >> v5 (chk): More work and fixes: > >> - Avoid deadlocks by adding all callbacks at once again. > >> - Stop trying to remove the callbacks. > >> - Provide context and sequence number for the array fence. > >> > >> v6 (chk): Fixes found during testing > >> - Fix stupid typo in _enable_signaling(). > >> > >> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > >> Signed-off-by: Christian König <christian.koenig@xxxxxxx> > >> --- > >> drivers/dma-buf/Makefile | 2 +- > >> drivers/dma-buf/fence-array.c | 127 ++++++++++++++++++++++++++++++++++++++++++ > >> include/linux/fence-array.h | 72 ++++++++++++++++++++++++ > >> 3 files changed, 200 insertions(+), 1 deletion(-) > >> create mode 100644 drivers/dma-buf/fence-array.c > >> create mode 100644 include/linux/fence-array.h > > > > This is working fine to me. Once the commit message is fixed: > > > > Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > > > > You need to Cc Sumit here to decide who is picking these patches. > > It would be better to get them through the drm trees so we would need > > his Ack at least. > > > +1 on the commit message consistency change; post that, please feel > free to add my > Acked-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx> > > for the 3 dma-buf/fences patches and request to take them via DRM tree > as rightly suggested by Gustavo. Commit message improved and all 3 queued up for drm-misc. I haven't pushed out the new branch yet though, since I'm waiting for Dave to open drm-next and pull in a few other bits first so that I can rebase. Thanks, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel