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

Message ID 20231031163104.112469-11-benjamin.gaignard@collabora.com
State New
Headers
Series Add DELETE_BUF ioctl |

Commit Message

Benjamin Gaignard Oct. 31, 2023, 4:30 p.m. UTC
  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>
CC: Ming Qian <ming.qian@nxp.com>
CC: Zhou Peng <eagle.zhou@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(-)
  

Comments

Andrzej Pietrasiewicz Nov. 8, 2023, 4:56 p.m. UTC | #1
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@collabora.com>

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

> CC: Ming Qian <ming.qian@nxp.com>
> CC: Zhou Peng <eagle.zhou@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)
  

Patch

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)