[PATCHv8 10/26] v4l: vb2-dma-contig: add prepare/finish to dma-contig allocator
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Aug 15 11:35:28 PDT 2012
Hi Tomasz,
Thanks for the patch.
On Tuesday 14 August 2012 17:34:40 Tomasz Stanislawski wrote:
> From: Marek Szyprowski <m.szyprowski at samsung.com>
>
> Add prepare/finish callbacks to vb2-dma-contig allocator.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
As for v7,
Laurent Pinchart <laurent.pinchart at ideasonboard.com>
:-)
> ---
> drivers/media/video/videobuf2-dma-contig.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/drivers/media/video/videobuf2-dma-contig.c
> b/drivers/media/video/videobuf2-dma-contig.c index 8486e06..494a824 100644
> --- a/drivers/media/video/videobuf2-dma-contig.c
> +++ b/drivers/media/video/videobuf2-dma-contig.c
> @@ -103,6 +103,28 @@ static unsigned int vb2_dc_num_users(void *buf_priv)
> return atomic_read(&buf->refcount);
> }
>
> +static void vb2_dc_prepare(void *buf_priv)
> +{
> + struct vb2_dc_buf *buf = buf_priv;
> + struct sg_table *sgt = buf->dma_sgt;
> +
> + if (!sgt)
> + return;
> +
> + dma_sync_sg_for_device(buf->dev, sgt->sgl, sgt->nents, buf->dma_dir);
> +}
> +
> +static void vb2_dc_finish(void *buf_priv)
> +{
> + struct vb2_dc_buf *buf = buf_priv;
> + struct sg_table *sgt = buf->dma_sgt;
> +
> + if (!sgt)
> + return;
> +
> + dma_sync_sg_for_cpu(buf->dev, sgt->sgl, sgt->nents, buf->dma_dir);
> +}
> +
> /*********************************************/
> /* callbacks for MMAP buffers */
> /*********************************************/
> @@ -366,6 +388,8 @@ const struct vb2_mem_ops vb2_dma_contig_memops = {
> .mmap = vb2_dc_mmap,
> .get_userptr = vb2_dc_get_userptr,
> .put_userptr = vb2_dc_put_userptr,
> + .prepare = vb2_dc_prepare,
> + .finish = vb2_dc_finish,
> .num_users = vb2_dc_num_users,
> };
> EXPORT_SYMBOL_GPL(vb2_dma_contig_memops);
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list