From 9a61fb94f26e91dcbdf4837516358dc46aa874d5 Mon Sep 17 00:00:00 2001 From: John Sheu Date: Tue, 29 Jan 2013 21:27:07 -0800 Subject: [PATCH] CHROMIUM: v4l2-mem2mem: Implement dmabuf mmap for videobuf2-dma-contig videobuf2-dma-contig buffers already allow DMABUF exporting; now hook up the mmap functions for these DMABUFs. Signed-off-by: John Sheu BUG=chromium-os:38376 BUG=chromium:167417 TEST=local build, run on snow Change-Id: Ia415c037b1fe9d1a18a86b1315f6945849940369 Reviewed-on: https://gerrit.chromium.org/gerrit/42296 Reviewed-by: Pawel Osciak Commit-Queue: John Sheu Tested-by: John Sheu --- drivers/media/video/videobuf2-dma-contig.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/media/video/videobuf2-dma-contig.c b/drivers/media/video/videobuf2-dma-contig.c index 4930f01ef7ff..e7da195812dc 100644 --- a/drivers/media/video/videobuf2-dma-contig.c +++ b/drivers/media/video/videobuf2-dma-contig.c @@ -340,22 +340,23 @@ static void *vb2_dc_dmabuf_ops_kmap(struct dma_buf *dbuf, unsigned long pgnum) { struct vb2_dc_buf *buf = dbuf->priv; - return buf->vaddr + pgnum * PAGE_SIZE; + return vb2_dc_vaddr(buf) + pgnum * PAGE_SIZE; } static void *vb2_dc_dmabuf_ops_vmap(struct dma_buf *dbuf) { struct vb2_dc_buf *buf = dbuf->priv; - return buf->vaddr; + return vb2_dc_vaddr(buf); } /* a dummy function to support the mmap functionality for now */ static int vb2_dc_dmabuf_ops_mmap(struct dma_buf *dbuf, struct vm_area_struct *vma) { - /* do nothing */ - return -EINVAL; + struct vb2_dc_buf *buf = dbuf->priv; + + return vb2_dc_mmap(buf, vma); } static struct dma_buf_ops vb2_dc_dmabuf_ops = { -- 2.20.1