[PATCH 3/6] dma-buf: add peer2peer flag
Daniel Vetter
daniel at ffwll.ch
Tue Apr 23 08:16:50 UTC 2019
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 at amd.com>
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 at ffwll.ch>
> ---
> 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
> * @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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list