From b52e4693e8d651f8262980eca13a46bbaf01bf2b Mon Sep 17 00:00:00 2001 From: Seungchul Kim Date: Thu, 27 Sep 2018 14:03:43 +0900 Subject: [PATCH] [RAMEN9610-12270][COMMON] media: vb2: modify to support offset in dmabuf The offset was added to v4l2_buffer, but vb2 does not support offset. So vb2 is modified to support offset calculation. Change-Id: Iee6e4b1146043eae00450556ba4686ba412aec0d Signed-off-by: Seungchul Kim --- drivers/media/v4l2-core/videobuf2-dma-sg.c | 2 +- drivers/media/v4l2-core/videobuf2-v4l2.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c index b0010bf149e6..a78c88ed0e7c 100644 --- a/drivers/media/v4l2-core/videobuf2-dma-sg.c +++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c @@ -729,7 +729,7 @@ dma_addr_t vb2_dma_sg_plane_dma_addr(struct vb2_buffer *vb, { struct vb2_dma_sg_buf *buf = vb->planes[plane_no].mem_priv; - return buf->iova; + return buf->iova + vb->planes[plane_no].data_offset; } const struct vb2_mem_ops vb2_dma_sg_memops = { diff --git a/drivers/media/v4l2-core/videobuf2-v4l2.c b/drivers/media/v4l2-core/videobuf2-v4l2.c index 7dbd72f67129..57813c9bcd71 100644 --- a/drivers/media/v4l2-core/videobuf2-v4l2.c +++ b/drivers/media/v4l2-core/videobuf2-v4l2.c @@ -359,6 +359,8 @@ static int __fill_vb2_buffer(struct vb2_buffer *vb, b->m.planes[plane].m.fd; planes[plane].length = b->m.planes[plane].length; + planes[plane].data_offset = + b->m.planes[plane].data_offset; } } -- 2.20.1