[PATCH v2] media: amphion: ensure the buffer count is not less than min_buffer

Ming Qian ming.qian at nxp.com
Wed Apr 27 01:59:42 PDT 2022


the output buffer count should >= min_buffer_out
the capture buffer count should >= min_buffer_cap

Signed-off-by: Ming Qian <ming.qian at nxp.com>
---
v2
- don't mess up the VIDIOC_CREATE_BUFS ioctl

 drivers/media/platform/amphion/vpu_v4l2.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/amphion/vpu_v4l2.c b/drivers/media/platform/amphion/vpu_v4l2.c
index 9c0704cd5766..0d25ba3afbf6 100644
--- a/drivers/media/platform/amphion/vpu_v4l2.c
+++ b/drivers/media/platform/amphion/vpu_v4l2.c
@@ -340,8 +340,12 @@ static int vpu_vb2_queue_setup(struct vb2_queue *vq,
 				return -EINVAL;
 		}
 		return 0;
+	} else {
+		if (V4L2_TYPE_IS_OUTPUT(vq->type))
+			*buf_count = max_t(unsigned int, *buf_count, inst->min_buffer_out);
+		else
+			*buf_count = max_t(unsigned int, *buf_count, inst->min_buffer_cap);
 	}
-
 	*plane_count = cur_fmt->num_planes;
 	for (i = 0; i < cur_fmt->num_planes; i++)
 		psize[i] = cur_fmt->sizeimage[i];
-- 
2.36.0




More information about the linux-arm-kernel mailing list