[PATCH v14 10/56] media: amphion: Stop direct calls to queue num_buffers field

Andrzej Pietrasiewicz andrzej.p at collabora.com
Wed Nov 8 08:56:36 PST 2023


W dniu 31.10.2023 o 17:30, Benjamin Gaignard pisze:
> 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 at collabora.com>

Reviewed-by: Andrzej Pietrasiewicz <andrzej.p at collabora.com>

> CC: Ming Qian <ming.qian at nxp.com>
> CC: Zhou Peng <eagle.zhou at nxp.com>
> ---
>   drivers/media/platform/amphion/vpu_dbg.c  | 8 ++++----
>   drivers/media/platform/amphion/vpu_v4l2.c | 4 ++--
>   2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/platform/amphion/vpu_dbg.c b/drivers/media/platform/amphion/vpu_dbg.c
> index a462d6fe4ea9..940e5bda5fa3 100644
> --- a/drivers/media/platform/amphion/vpu_dbg.c
> +++ b/drivers/media/platform/amphion/vpu_dbg.c
> @@ -87,7 +87,7 @@ static int vpu_dbg_instance(struct seq_file *s, void *data)
>   	num = scnprintf(str, sizeof(str),
>   			"output (%2d, %2d): fmt = %c%c%c%c %d x %d, %d;",
>   			vb2_is_streaming(vq),
> -			vq->num_buffers,
> +			vb2_get_num_buffers(vq),
>   			inst->out_format.pixfmt,
>   			inst->out_format.pixfmt >> 8,
>   			inst->out_format.pixfmt >> 16,
> @@ -111,7 +111,7 @@ static int vpu_dbg_instance(struct seq_file *s, void *data)
>   	num = scnprintf(str, sizeof(str),
>   			"capture(%2d, %2d): fmt = %c%c%c%c %d x %d, %d;",
>   			vb2_is_streaming(vq),
> -			vq->num_buffers,
> +			vb2_get_num_buffers(vq),
>   			inst->cap_format.pixfmt,
>   			inst->cap_format.pixfmt >> 8,
>   			inst->cap_format.pixfmt >> 16,
> @@ -139,7 +139,7 @@ static int vpu_dbg_instance(struct seq_file *s, void *data)
>   		return 0;
>   
>   	vq = v4l2_m2m_get_src_vq(inst->fh.m2m_ctx);
> -	for (i = 0; i < vq->num_buffers; i++) {
> +	for (i = 0; i < vb2_get_num_buffers(vq); i++) {
>   		struct vb2_buffer *vb;
>   		struct vb2_v4l2_buffer *vbuf;
>   
> @@ -161,7 +161,7 @@ static int vpu_dbg_instance(struct seq_file *s, void *data)
>   	}
>   
>   	vq = v4l2_m2m_get_dst_vq(inst->fh.m2m_ctx);
> -	for (i = 0; i < vq->num_buffers; i++) {
> +	for (i = 0; i < vb2_get_num_buffers(vq); i++) {
>   		struct vb2_buffer *vb;
>   		struct vb2_v4l2_buffer *vbuf;
>   
> diff --git a/drivers/media/platform/amphion/vpu_v4l2.c b/drivers/media/platform/amphion/vpu_v4l2.c
> index 0f6e4c666440..87afb4a18d5d 100644
> --- a/drivers/media/platform/amphion/vpu_v4l2.c
> +++ b/drivers/media/platform/amphion/vpu_v4l2.c
> @@ -439,7 +439,7 @@ int vpu_get_num_buffers(struct vpu_inst *inst, u32 type)
>   	else
>   		q = v4l2_m2m_get_dst_vq(inst->fh.m2m_ctx);
>   
> -	return q->num_buffers;
> +	return vb2_get_num_buffers(q);
>   }
>   
>   static void vpu_m2m_device_run(void *priv)
> @@ -587,7 +587,7 @@ static int vpu_vb2_start_streaming(struct vb2_queue *q, unsigned int count)
>   		  fmt->sizeimage[0], fmt->bytesperline[0],
>   		  fmt->sizeimage[1], fmt->bytesperline[1],
>   		  fmt->sizeimage[2], fmt->bytesperline[2],
> -		  q->num_buffers);
> +		  vb2_get_num_buffers(q));
>   	vb2_clear_last_buffer_dequeued(q);
>   	ret = call_vop(inst, start, q->type);
>   	if (ret)




More information about the Linux-rockchip mailing list