diff mbox series

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

Message ID 20220427085942.18159-1-ming.qian@nxp.com (mailing list archive)
State New, archived
Headers show
Series [v2] media: amphion: ensure the buffer count is not less than min_buffer | expand

Commit Message

Ming Qian April 27, 2022, 8:59 a.m. UTC
the output buffer count should >= min_buffer_out
the capture buffer count should >= min_buffer_cap

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

Patch

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];