media: rockchip/vpu: Correct return type for mem2mem buffer helpers
authorEzequiel Garcia <ezequiel@collabora.com>
Fri, 8 Feb 2019 16:17:47 +0000 (11:17 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Mon, 18 Feb 2019 20:31:49 +0000 (15:31 -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/staging/media/rockchip/vpu/rk3288_vpu_hw_jpeg_enc.c
drivers/staging/media/rockchip/vpu/rk3399_vpu_hw_jpeg_enc.c

index 5282236..06daea6 100644 (file)
@@ -80,7 +80,7 @@ rk3288_vpu_jpeg_enc_set_qtable(struct rockchip_vpu_dev *vpu,
 void rk3288_vpu_jpeg_enc_run(struct rockchip_vpu_ctx *ctx)
 {
        struct rockchip_vpu_dev *vpu = ctx->dev;
-       struct vb2_buffer *src_buf, *dst_buf;
+       struct vb2_v4l2_buffer *src_buf, *dst_buf;
        struct rockchip_vpu_jpeg_ctx jpeg_ctx;
        u32 reg;
 
@@ -88,7 +88,7 @@ void rk3288_vpu_jpeg_enc_run(struct rockchip_vpu_ctx *ctx)
        dst_buf = v4l2_m2m_next_dst_buf(ctx->fh.m2m_ctx);
 
        memset(&jpeg_ctx, 0, sizeof(jpeg_ctx));
-       jpeg_ctx.buffer = vb2_plane_vaddr(dst_buf, 0);
+       jpeg_ctx.buffer = vb2_plane_vaddr(&dst_buf->vb2_buf, 0);
        jpeg_ctx.width = ctx->dst_fmt.width;
        jpeg_ctx.height = ctx->dst_fmt.height;
        jpeg_ctx.quality = ctx->jpeg_quality;
@@ -99,7 +99,7 @@ void rk3288_vpu_jpeg_enc_run(struct rockchip_vpu_ctx *ctx)
                           VEPU_REG_ENC_CTRL);
 
        rk3288_vpu_set_src_img_ctrl(vpu, ctx);
-       rk3288_vpu_jpeg_enc_set_buffers(vpu, ctx, src_buf);
+       rk3288_vpu_jpeg_enc_set_buffers(vpu, ctx, &src_buf->vb2_buf);
        rk3288_vpu_jpeg_enc_set_qtable(vpu,
                                       rockchip_vpu_jpeg_get_qtable(&jpeg_ctx, 0),
                                       rockchip_vpu_jpeg_get_qtable(&jpeg_ctx, 1));
index dbc86d9..3d43879 100644 (file)
@@ -111,7 +111,7 @@ rk3399_vpu_jpeg_enc_set_qtable(struct rockchip_vpu_dev *vpu,
 void rk3399_vpu_jpeg_enc_run(struct rockchip_vpu_ctx *ctx)
 {
        struct rockchip_vpu_dev *vpu = ctx->dev;
-       struct vb2_buffer *src_buf, *dst_buf;
+       struct vb2_v4l2_buffer *src_buf, *dst_buf;
        struct rockchip_vpu_jpeg_ctx jpeg_ctx;
        u32 reg;
 
@@ -119,7 +119,7 @@ void rk3399_vpu_jpeg_enc_run(struct rockchip_vpu_ctx *ctx)
        dst_buf = v4l2_m2m_next_dst_buf(ctx->fh.m2m_ctx);
 
        memset(&jpeg_ctx, 0, sizeof(jpeg_ctx));
-       jpeg_ctx.buffer = vb2_plane_vaddr(dst_buf, 0);
+       jpeg_ctx.buffer = vb2_plane_vaddr(&dst_buf->vb2_buf, 0);
        jpeg_ctx.width = ctx->dst_fmt.width;
        jpeg_ctx.height = ctx->dst_fmt.height;
        jpeg_ctx.quality = ctx->jpeg_quality;
@@ -130,7 +130,7 @@ void rk3399_vpu_jpeg_enc_run(struct rockchip_vpu_ctx *ctx)
                           VEPU_REG_ENCODE_START);
 
        rk3399_vpu_set_src_img_ctrl(vpu, ctx);
-       rk3399_vpu_jpeg_enc_set_buffers(vpu, ctx, src_buf);
+       rk3399_vpu_jpeg_enc_set_buffers(vpu, ctx, &src_buf->vb2_buf);
        rk3399_vpu_jpeg_enc_set_qtable(vpu,
                                       rockchip_vpu_jpeg_get_qtable(&jpeg_ctx, 0),
                                       rockchip_vpu_jpeg_get_qtable(&jpeg_ctx, 1));