From: Seungchul Kim Date: Thu, 27 Sep 2018 05:03:43 +0000 (+0900) Subject: [RAMEN9610-12270][COMMON] media: vb2: modify to support offset in dmabuf X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=32b843cc046fa534d35d8ca8caf781191e272db2;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [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 --- 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 d0eac0d12cda..900c5f67b261 100644 --- a/drivers/media/v4l2-core/videobuf2-v4l2.c +++ b/drivers/media/v4l2-core/videobuf2-v4l2.c @@ -358,6 +358,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; } }