On Mon, Mar 30, 2020 at 03:55:31PM +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> On the series: Acked-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/dma-buf/dma-buf.c | 2 ++ > include/linux/dma-buf.h | 10 ++++++++++ > 2 files changed, 12 insertions(+) > > diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c > index ccc9eda1bc28..570c923023e6 100644 > --- a/drivers/dma-buf/dma-buf.c > +++ b/drivers/dma-buf/dma-buf.c > @@ -690,6 +690,8 @@ dma_buf_dynamic_attach(struct dma_buf *dmabuf, struct device *dev, > > attach->dev = dev; > attach->dmabuf = dmabuf; > + if (importer_ops) > + attach->peer2peer = importer_ops->allow_peer2peer; > attach->importer_ops = importer_ops; > attach->importer_priv = importer_priv; > > diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h > index 1ade486fc2bb..82e0a4a64601 100644 > --- a/include/linux/dma-buf.h > +++ b/include/linux/dma-buf.h > @@ -334,6 +334,14 @@ struct dma_buf { > * Attachment operations implemented by the importer. > */ > struct dma_buf_attach_ops { > + /** > + * @allow_peer2peer: > + * > + * If this is set to true the importer must be able to handle peer > + * resources without struct pages. > + */ > + bool allow_peer2peer; > + > /** > * @move_notify > * > @@ -362,6 +370,7 @@ struct dma_buf_attach_ops { > * @node: list of dma_buf_attachment, protected by dma_resv lock of the dmabuf. > * @sgt: cached mapping. > * @dir: direction of cached mapping. > + * @peer2peer: true if the importer can handle peer resources without pages. > * @priv: exporter specific attachment data. > * @importer_ops: importer operations for this attachment, if provided > * dma_buf_map/unmap_attachment() must be called with the dma_resv lock held. > @@ -382,6 +391,7 @@ struct dma_buf_attachment { > struct list_head node; > struct sg_table *sgt; > enum dma_data_direction dir; > + bool peer2peer; > const struct dma_buf_attach_ops *importer_ops; > void *importer_priv; > void *priv; > -- > 2.17.1 > -- 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