提交 bb04aa6f 编写于 作者: P Philipp Zabel 提交者: Mauro Carvalho Chehab

[media] coda: switch BIT decoder source queue to vmalloc

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: NPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: NKamil Debski <k.debski@samsung.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
上级 8e428d50
...@@ -141,6 +141,7 @@ config VIDEO_CODA ...@@ -141,6 +141,7 @@ config VIDEO_CODA
depends on HAS_DMA depends on HAS_DMA
select SRAM select SRAM
select VIDEOBUF2_DMA_CONTIG select VIDEOBUF2_DMA_CONTIG
select VIDEOBUF2_VMALLOC
select V4L2_MEM2MEM_DEV select V4L2_MEM2MEM_DEV
select GENERIC_ALLOCATOR select GENERIC_ALLOCATOR
---help--- ---help---
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include <media/v4l2-mem2mem.h> #include <media/v4l2-mem2mem.h>
#include <media/videobuf2-core.h> #include <media/videobuf2-core.h>
#include <media/videobuf2-dma-contig.h> #include <media/videobuf2-dma-contig.h>
#include <media/videobuf2-vmalloc.h>
#include "coda.h" #include "coda.h"
...@@ -1121,6 +1122,7 @@ static int coda_queue_setup(struct vb2_queue *vq, ...@@ -1121,6 +1122,7 @@ static int coda_queue_setup(struct vb2_queue *vq,
*nplanes = 1; *nplanes = 1;
sizes[0] = size; sizes[0] = size;
/* Set to vb2-dma-contig allocator context, ignored by vb2-vmalloc */
alloc_ctxs[0] = ctx->dev->alloc_ctx; alloc_ctxs[0] = ctx->dev->alloc_ctx;
v4l2_dbg(1, coda_debug, &ctx->dev->v4l2_dev, 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, ...@@ -1567,8 +1569,8 @@ int coda_decoder_queue_init(void *priv, struct vb2_queue *src_vq,
int ret; int ret;
src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
src_vq->io_modes = VB2_DMABUF | VB2_MMAP; src_vq->io_modes = VB2_DMABUF | VB2_MMAP | VB2_USERPTR;
src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->mem_ops = &vb2_vmalloc_memops;
ret = coda_queue_init(priv, src_vq); ret = coda_queue_init(priv, src_vq);
if (ret) if (ret)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册