media: s5p-g2d: Correct return type for mem2mem buffer helpers
authorEzequiel Garcia <ezequiel@collabora.com>
Fri, 8 Feb 2019 16:17:44 +0000 (11:17 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 18 Feb 2019 20:30:45 +0000 (15:30 -0500)
Fix the assigned type of mem2mem buffer handling API.
Namely, these functions:

 v4l2_m2m_next_buf
 v4l2_m2m_last_buf
 v4l2_m2m_buf_remove
 v4l2_m2m_next_src_buf
 v4l2_m2m_next_dst_buf
 v4l2_m2m_last_src_buf
 v4l2_m2m_last_dst_buf
 v4l2_m2m_src_buf_remove
 v4l2_m2m_dst_buf_remove

return a struct vb2_v4l2_buffer, and not a struct vb2_buffer.

Fixing this is necessary to fix the mem2mem buffer handling API,
changing the return to the correct struct vb2_v4l2_buffer instead
of a void pointer.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/s5p-g2d/g2d.c

index 57ab1d1..971c471 100644 (file)
@@ -513,7 +513,7 @@ static void device_run(void *prv)
 {
        struct g2d_ctx *ctx = prv;
        struct g2d_dev *dev = ctx->dev;
-       struct vb2_buffer *src, *dst;
+       struct vb2_v4l2_buffer *src, *dst;
        unsigned long flags;
        u32 cmd = 0;
 
@@ -528,10 +528,10 @@ static void device_run(void *prv)
        spin_lock_irqsave(&dev->ctrl_lock, flags);
 
        g2d_set_src_size(dev, &ctx->in);
-       g2d_set_src_addr(dev, vb2_dma_contig_plane_dma_addr(src, 0));
+       g2d_set_src_addr(dev, vb2_dma_contig_plane_dma_addr(&src->vb2_buf, 0));
 
        g2d_set_dst_size(dev, &ctx->out);
-       g2d_set_dst_addr(dev, vb2_dma_contig_plane_dma_addr(dst, 0));
+       g2d_set_dst_addr(dev, vb2_dma_contig_plane_dma_addr(&dst->vb2_buf, 0));
 
        g2d_set_rop4(dev, ctx->rop);
        g2d_set_flip(dev, ctx->flip);