Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: amphion: Stop direct calls to queue num_buffers field

Use vb2_get_num_buffers() to avoid using queue num_buffers field directly.
This allows us to change how the number of buffers is computed in the
future.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
CC: Ming Qian <ming.qian@nxp.com>
CC: Zhou Peng <eagle.zhou@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

authored by

Benjamin Gaignard and committed by
Mauro Carvalho Chehab
1be71847 e03bcb28

+6 -6
+4 -4
drivers/media/platform/amphion/vpu_dbg.c
··· 87 87 num = scnprintf(str, sizeof(str), 88 88 "output (%2d, %2d): fmt = %c%c%c%c %d x %d, %d;", 89 89 vb2_is_streaming(vq), 90 - vq->num_buffers, 90 + vb2_get_num_buffers(vq), 91 91 inst->out_format.pixfmt, 92 92 inst->out_format.pixfmt >> 8, 93 93 inst->out_format.pixfmt >> 16, ··· 111 111 num = scnprintf(str, sizeof(str), 112 112 "capture(%2d, %2d): fmt = %c%c%c%c %d x %d, %d;", 113 113 vb2_is_streaming(vq), 114 - vq->num_buffers, 114 + vb2_get_num_buffers(vq), 115 115 inst->cap_format.pixfmt, 116 116 inst->cap_format.pixfmt >> 8, 117 117 inst->cap_format.pixfmt >> 16, ··· 139 139 return 0; 140 140 141 141 vq = v4l2_m2m_get_src_vq(inst->fh.m2m_ctx); 142 - for (i = 0; i < vq->num_buffers; i++) { 142 + for (i = 0; i < vb2_get_num_buffers(vq); i++) { 143 143 struct vb2_buffer *vb; 144 144 struct vb2_v4l2_buffer *vbuf; 145 145 ··· 161 161 } 162 162 163 163 vq = v4l2_m2m_get_dst_vq(inst->fh.m2m_ctx); 164 - for (i = 0; i < vq->num_buffers; i++) { 164 + for (i = 0; i < vb2_get_num_buffers(vq); i++) { 165 165 struct vb2_buffer *vb; 166 166 struct vb2_v4l2_buffer *vbuf; 167 167
+2 -2
drivers/media/platform/amphion/vpu_v4l2.c
··· 439 439 else 440 440 q = v4l2_m2m_get_dst_vq(inst->fh.m2m_ctx); 441 441 442 - return q->num_buffers; 442 + return vb2_get_num_buffers(q); 443 443 } 444 444 445 445 static void vpu_m2m_device_run(void *priv) ··· 587 587 fmt->sizeimage[0], fmt->bytesperline[0], 588 588 fmt->sizeimage[1], fmt->bytesperline[1], 589 589 fmt->sizeimage[2], fmt->bytesperline[2], 590 - q->num_buffers); 590 + vb2_get_num_buffers(q)); 591 591 vb2_clear_last_buffer_dequeued(q); 592 592 ret = call_vop(inst, start, q->type); 593 593 if (ret)