On Tue, Apr 23, 2019 at 10:16:50AM +0200, Daniel Vetter wrote: > On Thu, Apr 18, 2019 at 02:09:25PM +0200, Christian König wrote: > > Add a peer2peer flag noting that the importer can deal with device > > resources which are not backed by pages. > > > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> > > Should we add something like "Such importers should also support dynamic > dma_buf attachments." to the kerneldoc? > > Either way lgtm > > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > --- > > drivers/dma-buf/dma-buf.c | 1 + > > include/linux/dma-buf.h | 4 ++++ > > 2 files changed, 5 insertions(+) > > > > diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c > > index f23ff8355505..3ab49b492017 100644 > > --- a/drivers/dma-buf/dma-buf.c > > +++ b/drivers/dma-buf/dma-buf.c > > @@ -563,6 +563,7 @@ struct dma_buf_attachment *dma_buf_attach(const struct dma_buf_attach_info *info > > > > attach->dev = info->dev; > > attach->dmabuf = dmabuf; > > + attach->peer2peer = info->peer2peer; > > attach->importer_priv = info->importer_priv; > > attach->invalidate = info->invalidate; > > > > diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h > > index a615b74e5894..d2746bdfe92c 100644 > > --- a/include/linux/dma-buf.h > > +++ b/include/linux/dma-buf.h > > @@ -346,6 +346,7 @@ struct dma_buf { > > * @dmabuf: buffer for this attachment. > > * @dev: device attached to the buffer. > > * @node: list of dma_buf_attachment. > > + * @peer2peer: true if the importer can handle peer resources without pages. > > * @priv: exporter specific attachment data. > > * @importer_priv: importer specific attachment data. > > * > > @@ -362,6 +363,7 @@ struct dma_buf_attachment { > > struct dma_buf *dmabuf; > > struct device *dev; > > struct list_head node; > > + bool peer2peer; > > void *priv; > > struct sg_table *sgt; > > void *importer_priv; > > @@ -427,6 +429,7 @@ struct dma_buf_export_info { > > * struct dma_buf_attach_info - holds information needed to attach to a dma_buf > > * @dmabuf: the exported dma_buf > > * @dev: the device which wants to import the attachment > > + * @peer2peer: true if the importer can handle peer resources without pages And a bikeshed: inline kerneldoc style for this would be good (I think I made that comment on the earlier series too), to avoid too much of a pressure towards too terse kerneldoc. @invalidate definitely needs a lot more text, and I think peer2peer would also benefit from a few pointers (e.g. which sg table helpers you can use and which you can't because the pages pointer is NULL). -Daniel > > * @importer_priv: private data of importer to this attachment > > * @invalidate: callback to use for invalidating mappings > > * > > @@ -436,6 +439,7 @@ struct dma_buf_export_info { > > struct dma_buf_attach_info { > > struct dma_buf *dmabuf; > > struct device *dev; > > + bool peer2peer; > > void *importer_priv; > > void (*invalidate)(struct dma_buf_attachment *attach); > > }; > > -- > > 2.17.1 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@xxxxxxxxxxxxxxxxxxxxx > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx