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

From: Ming Qian
Date: Wed Apr 27 2022 - 05:00:14 EST


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

Signed-off-by: Ming Qian <ming.qian@xxxxxxx>
---
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