[RFC PATCH] media: vb2: rename min_reqbufs_allocation to rec_num_buffers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The name 'rec_num_buffers' matches what struct v4l2_create_buffers uses,
and 'recommended number of buffers' is a much more descriptive name.

Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx>
---
This patch sits on top of:
https://patchwork.linuxtv.org/project/linux-media/patch/3c0362e5-aa47-4545-a81e-e696b0e01440@xxxxxxxxx/
and:
https://patchwork.linuxtv.org/project/linux-media/patch/6b303108-6ab6-43c9-9c7b-7776ef64fb06@xxxxxxxxx/

I think it makes sense to rename min_reqbufs_allocation to rec_num_buffers,
it is a much better name IMHO.

I considered also renaming min_queued_buffers to min_num_buffers, but
I decided against that. In the context of vb2 'min_queued_buffers' is
more specific: it is the minimum number of queued buffers needed before
start_streaming() can be called.
---
 drivers/media/common/videobuf2/videobuf2-core.c   | 14 +++++++-------
 drivers/media/common/videobuf2/videobuf2-v4l2.c   |  2 +-
 drivers/media/test-drivers/vicodec/vicodec-core.c |  4 ++--
 drivers/media/test-drivers/vimc/vimc-capture.c    |  2 +-
 drivers/media/test-drivers/vivid/vivid-core.c     |  4 ++--
 include/media/videobuf2-core.h                    | 12 +++++++-----
 6 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c
index 3a7303a72202..9c09798bcbf5 100644
--- a/drivers/media/common/videobuf2/videobuf2-core.c
+++ b/drivers/media/common/videobuf2/videobuf2-core.c
@@ -925,7 +925,7 @@ int vb2_core_reqbufs(struct vb2_queue *q, enum vb2_memory memory,
 	/*
 	 * Make sure the requested values and current defaults are sane.
 	 */
-	num_buffers = max_t(unsigned int, *count, q->min_reqbufs_allocation);
+	num_buffers = max_t(unsigned int, *count, q->rec_num_buffers);
 	num_buffers = min_t(unsigned int, num_buffers, q->max_num_buffers);
 	memset(q->alloc_devs, 0, sizeof(q->alloc_devs));
 	/*
@@ -982,7 +982,7 @@ int vb2_core_reqbufs(struct vb2_queue *q, enum vb2_memory memory,
 	 * There is no point in continuing if we can't allocate the minimum
 	 * number of buffers needed by this vb2_queue.
 	 */
-	if (allocated_buffers < q->min_reqbufs_allocation)
+	if (allocated_buffers < q->rec_num_buffers)
 		ret = -ENOMEM;

 	/*
@@ -2683,10 +2683,10 @@ int vb2_core_queue_init(struct vb2_queue *q)
 	 * 'min_queued_buffers + 1' to keep at least one buffer available
 	 * for userspace.
 	 */
-	if (q->min_reqbufs_allocation < q->min_queued_buffers + 1)
-		q->min_reqbufs_allocation = q->min_queued_buffers + 1;
+	if (q->rec_num_buffers < q->min_queued_buffers + 1)
+		q->rec_num_buffers = q->min_queued_buffers + 1;

-	if (WARN_ON(q->min_reqbufs_allocation > q->max_num_buffers))
+	if (WARN_ON(q->rec_num_buffers > q->max_num_buffers))
 		return -EINVAL;

 	/* Either both or none are set */
@@ -2910,7 +2910,7 @@ static int __vb2_init_fileio(struct vb2_queue *q, int read)
 		return -EBUSY;

 	dprintk(q, 3, "setting up file io: mode %s, count %d, read_once %d, write_immediately %d\n",
-		(read) ? "read" : "write", q->min_reqbufs_allocation, q->fileio_read_once,
+		(read) ? "read" : "write", q->rec_num_buffers, q->fileio_read_once,
 		q->fileio_write_immediately);

 	fileio = kzalloc(sizeof(*fileio), GFP_KERNEL);
@@ -2924,7 +2924,7 @@ static int __vb2_init_fileio(struct vb2_queue *q, int read)
 	 * Request buffers and use MMAP type to force driver
 	 * to allocate buffers by itself.
 	 */
-	fileio->count = q->min_reqbufs_allocation;
+	fileio->count = q->rec_num_buffers;
 	fileio->memory = VB2_MEMORY_MMAP;
 	fileio->type = q->type;
 	q->fileio = fileio;
diff --git a/drivers/media/common/videobuf2/videobuf2-v4l2.c b/drivers/media/common/videobuf2/videobuf2-v4l2.c
index 15394bb4168c..f4fdc5d77d9c 100644
--- a/drivers/media/common/videobuf2/videobuf2-v4l2.c
+++ b/drivers/media/common/videobuf2/videobuf2-v4l2.c
@@ -705,7 +705,7 @@ static void vb2_set_flags_and_caps(struct vb2_queue *q, u32 memory,
 	}
 	if (min_num_bufs && rec_num_bufs) {
 		*min_num_bufs = q->min_queued_buffers + 1;
-		*rec_num_bufs = q->min_reqbufs_allocation;
+		*rec_num_bufs = q->rec_num_buffers;
 		*caps |= V4L2_BUF_CAP_SUPPORTS_MIN_REC_NUM_BUFFERS;
 	}
 }
diff --git a/drivers/media/test-drivers/vicodec/vicodec-core.c b/drivers/media/test-drivers/vicodec/vicodec-core.c
index 556ec2a3d411..230ba1925cb2 100644
--- a/drivers/media/test-drivers/vicodec/vicodec-core.c
+++ b/drivers/media/test-drivers/vicodec/vicodec-core.c
@@ -1709,7 +1709,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq,
 	src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
 	if (ctx->is_enc) {
 		src_vq->lock = &ctx->dev->stateful_enc.mutex;
-		src_vq->min_reqbufs_allocation = VICODEC_REC_BUFS;
+		src_vq->rec_num_buffers = VICODEC_REC_BUFS;
 	} else if (ctx->is_stateless) {
 		src_vq->lock = &ctx->dev->stateless_dec.mutex;
 	} else {
@@ -1733,7 +1733,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq,
 	dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
 	dst_vq->lock = src_vq->lock;
 	if (!ctx->is_stateless && !ctx->is_enc)
-		dst_vq->min_reqbufs_allocation = VICODEC_REC_BUFS;
+		dst_vq->rec_num_buffers = VICODEC_REC_BUFS;

 	return vb2_queue_init(dst_vq);
 }
diff --git a/drivers/media/test-drivers/vimc/vimc-capture.c b/drivers/media/test-drivers/vimc/vimc-capture.c
index 10df039278e7..1a1ca1d67fe6 100644
--- a/drivers/media/test-drivers/vimc/vimc-capture.c
+++ b/drivers/media/test-drivers/vimc/vimc-capture.c
@@ -427,7 +427,7 @@ static struct vimc_ent_device *vimc_capture_add(struct vimc_device *vimc,
 	q->mem_ops = vimc_allocator == VIMC_ALLOCATOR_DMA_CONTIG
 		   ? &vb2_dma_contig_memops : &vb2_vmalloc_memops;
 	q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
-	q->min_reqbufs_allocation = 2;
+	q->rec_num_buffers = 2;
 	q->lock = &vcapture->lock;
 	q->dev = v4l2_dev->dev;

diff --git a/drivers/media/test-drivers/vivid/vivid-core.c b/drivers/media/test-drivers/vivid/vivid-core.c
index 8d8f60e15d1d..1cda7f5a65ee 100644
--- a/drivers/media/test-drivers/vivid/vivid-core.c
+++ b/drivers/media/test-drivers/vivid/vivid-core.c
@@ -887,7 +887,7 @@ static const struct media_device_ops vivid_media_ops = {
 static int vivid_create_queue(struct vivid_dev *dev,
 			      struct vb2_queue *q,
 			      u32 buf_type,
-			      unsigned int min_reqbufs_allocation,
+			      unsigned int rec_num_buffers,
 			      const struct vb2_ops *ops)
 {
 	if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE && dev->multiplanar)
@@ -924,7 +924,7 @@ static int vivid_create_queue(struct vivid_dev *dev,
 	q->mem_ops = allocators[dev->inst] == 1 ? &vb2_dma_contig_memops :
 						  &vb2_vmalloc_memops;
 	q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
-	q->min_reqbufs_allocation = min_reqbufs_allocation;
+	q->rec_num_buffers = rec_num_buffers;
 	q->lock = &dev->mutex;
 	q->dev = dev->v4l2_dev.dev;
 	q->supports_requests = supports_requests[dev->inst];
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index 34b6fd6585b9..89b7600e4cf6 100644
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -564,14 +564,16 @@ struct vb2_buf_ops {
  *		VIDIOC_REQBUFS will ensure at least @min_queued_buffers + 1
  *		buffers will be allocated. Note that VIDIOC_CREATE_BUFS will not
  *		modify the requested buffer count.
- * @min_reqbufs_allocation: the minimum number of buffers to be allocated when
- *		calling VIDIOC_REQBUFS. Note that VIDIOC_CREATE_BUFS will *not*
- *		modify the requested buffer count and does not use this field.
+ * @rec_num_buffers: the recommended number of buffers to allocate for this
+ *		queue. This value is used when calling VIDIOC_REQBUFS: it will
+ *		allocate at least this many buffersa
+ *		Note that VIDIOC_CREATE_BUFS will *not* modify the requested
+ *		buffer count and it does not use this field.
  *		Drivers can set this if there has to be a certain number of
  *		buffers available for the hardware to work effectively.
  *		This allows calling VIDIOC_REQBUFS with a buffer count of 1 and
  *		it will be automatically adjusted to a workable	buffer count.
- *		If set, then @min_reqbufs_allocation must be larger than
+ *		If set, then @rec_num_buffers must be larger than
  *		@min_queued_buffers + 1.
  *		If this field is > 3, then it is highly recommended that the
  *		driver implements the V4L2_CID_MIN_BUFFERS_FOR_CAPTURE/OUTPUT
@@ -647,7 +649,7 @@ struct vb2_queue {
 	u32				timestamp_flags;
 	gfp_t				gfp_flags;
 	u32				min_queued_buffers;
-	u32				min_reqbufs_allocation;
+	u32				rec_num_buffers;

 	struct device			*alloc_devs[VB2_MAX_PLANES];

-- 
2.45.2





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux