[Linaro-mm-sig] [PATCH] dma-buf: add get_dma_buf()
Kyungmin Park
kmpark at infradead.org
Fri Mar 16 21:11:26 PDT 2012
Reviewed-by: Kyungmin Park <kyungmin.park at samsung.com>
On 3/17/12, Rob Clark <rob.clark at linaro.org> wrote:
> From: Rob Clark <rob at ti.com>
>
> Works in a similar way to get_file(), and is needed in cases such as
> when the exporter needs to also keep a reference to the dmabuf (that
> is later released with a dma_buf_put()), and possibly other similar
> cases.
>
> Signed-off-by: Rob Clark <rob at ti.com>
> ---
> Minor update on original to add a missing #include
>
> include/linux/dma-buf.h | 15 +++++++++++++++
> 1 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h
> index 891457a..bc4203dc 100644
> --- a/include/linux/dma-buf.h
> +++ b/include/linux/dma-buf.h
> @@ -30,6 +30,7 @@
> #include <linux/scatterlist.h>
> #include <linux/list.h>
> #include <linux/dma-mapping.h>
> +#include <linux/fs.h>
>
> struct dma_buf;
> struct dma_buf_attachment;
> @@ -110,6 +111,20 @@ struct dma_buf_attachment {
> void *priv;
> };
>
> +/**
> + * get_dma_buf - convenience wrapper for get_file.
> + * @dmabuf: [in] pointer to dma_buf
> + *
> + * Increments the reference count on the dma-buf, needed in case of drivers
> + * that either need to create additional references to the dmabuf on the
> + * kernel side. For example, an exporter that needs to keep a dmabuf ptr
> + * so that subsequent exports don't create a new dmabuf.
> + */
> +static inline void get_dma_buf(struct dma_buf *dmabuf)
> +{
> + get_file(dmabuf->file);
> +}
> +
> #ifdef CONFIG_DMA_SHARED_BUFFER
> struct dma_buf_attachment *dma_buf_attach(struct dma_buf *dmabuf,
> struct device *dev);
> --
> 1.7.5.4
>
>
> _______________________________________________
> Linaro-mm-sig mailing list
> Linaro-mm-sig at lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-mm-sig
>
More information about the dri-devel
mailing list