[media] coda: switch BIT decoder source queue to vmalloc
authorPhilipp Zabel <p.zabel@pengutronix.de>
Fri, 23 Jan 2015 16:51:30 +0000 (13:51 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 2 Feb 2015 12:31:35 +0000 (10:31 -0200)
Since we have to copy from input buffers into the bitstream ringbuffer
with the CPU, there is no need for contiguous DMA buffers on the decoder
input side.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/Kconfig
drivers/media/platform/coda/coda-common.c

index d18a5353e4a41f6862d6d0c94c27f889f4d02956..250b7af660271e6d2746cd41678a2a12f531b7c8 100644 (file)
@@ -141,6 +141,7 @@ config VIDEO_CODA
        depends on HAS_DMA
        select SRAM
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_VMALLOC
        select V4L2_MEM2MEM_DEV
        select GENERIC_ALLOCATOR
        ---help---
index 15f4c2b91e42a5e4b3cba886345e36b8b8ae0252..f881e87e55d3ade0cca832f679b2e2a7b7027ca2 100644 (file)
@@ -37,6 +37,7 @@
 #include <media/v4l2-mem2mem.h>
 #include <media/videobuf2-core.h>
 #include <media/videobuf2-dma-contig.h>
+#include <media/videobuf2-vmalloc.h>
 
 #include "coda.h"
 
@@ -1121,6 +1122,7 @@ static int coda_queue_setup(struct vb2_queue *vq,
        *nplanes = 1;
        sizes[0] = size;
 
+       /* Set to vb2-dma-contig allocator context, ignored by vb2-vmalloc */
        alloc_ctxs[0] = ctx->dev->alloc_ctx;
 
        v4l2_dbg(1, coda_debug, &ctx->dev->v4l2_dev,
@@ -1567,8 +1569,8 @@ int coda_decoder_queue_init(void *priv, struct vb2_queue *src_vq,
        int ret;
 
        src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
-       src_vq->io_modes = VB2_DMABUF | VB2_MMAP;
-       src_vq->mem_ops = &vb2_dma_contig_memops;
+       src_vq->io_modes = VB2_DMABUF | VB2_MMAP | VB2_USERPTR;
+       src_vq->mem_ops = &vb2_vmalloc_memops;
 
        ret = coda_queue_init(priv, src_vq);
        if (ret)