media: mtk-vcodec: Use vb2_get_buffer
authorEzequiel Garcia <ezequiel@collabora.com>
Mon, 10 Jun 2019 20:55:24 +0000 (16:55 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 21 Jun 2019 20:23:46 +0000 (16:23 -0400)
Use the newly introduced vb2_get_buffer API and avoid
accessing buffers in the queue directly.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil-cisco@xs4all.nl: fixed checkpatch alignment warning]
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c

index 480cc8f..fd8de02 100644 (file)
@@ -865,12 +865,18 @@ static int vb2ops_venc_start_streaming(struct vb2_queue *q, unsigned int count)
 
 err_set_param:
        for (i = 0; i < q->num_buffers; ++i) {
-               if (q->bufs[i]->state == VB2_BUF_STATE_ACTIVE) {
+               struct vb2_buffer *buf = vb2_get_buffer(q, i);
+
+               /*
+                * FIXME: This check is not needed as only active buffers
+                * can be marked as done.
+                */
+               if (buf->state == VB2_BUF_STATE_ACTIVE) {
                        mtk_v4l2_debug(0, "[%d] id=%d, type=%d, %d -> VB2_BUF_STATE_QUEUED",
                                        ctx->id, i, q->type,
-                                       (int)q->bufs[i]->state);
-                       v4l2_m2m_buf_done(to_vb2_v4l2_buffer(q->bufs[i]),
-                                       VB2_BUF_STATE_QUEUED);
+                                       (int)buf->state);
+                       v4l2_m2m_buf_done(to_vb2_v4l2_buffer(buf),
+                                         VB2_BUF_STATE_QUEUED);
                }
        }