media: videobuf2: core: Rename min_buffers_needed field in vb2_queue

Rename min_buffers_needed into min_queued_buffers and update
the documentation about it.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil: Drop the change where min_queued_buffers + 1 buffers would be]
[hverkuil: allocated. Now this patch only renames this field instead of making]
[hverkuil: a functional change as well.]
[hverkuil: Renamed 3 remaining min_buffers_needed occurrences.]
This commit is contained in:
Benjamin Gaignard 2023-12-11 14:32:49 +01:00 committed by Hans Verkuil
parent a3e28ea777
commit 80c2b40a51
68 changed files with 103 additions and 100 deletions

View File

@ -2546,7 +2546,7 @@ static const struct vb2_queue mxt_queue = {
.ops = &mxt_queue_ops, .ops = &mxt_queue_ops,
.mem_ops = &vb2_vmalloc_memops, .mem_ops = &vb2_vmalloc_memops,
.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC, .timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC,
.min_buffers_needed = 1, .min_queued_buffers = 1,
}; };
static int mxt_vidioc_querycap(struct file *file, void *priv, static int mxt_vidioc_querycap(struct file *file, void *priv,

View File

@ -1124,7 +1124,7 @@ static const struct vb2_queue sur40_queue = {
.ops = &sur40_queue_ops, .ops = &sur40_queue_ops,
.mem_ops = &vb2_dma_sg_memops, .mem_ops = &vb2_dma_sg_memops,
.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC, .timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC,
.min_buffers_needed = 3, .min_queued_buffers = 3,
}; };
static const struct v4l2_file_operations sur40_video_fops = { static const struct v4l2_file_operations sur40_video_fops = {

View File

@ -387,7 +387,7 @@ int saa7146_register_device(struct video_device *vfd, struct saa7146_dev *dev,
q->gfp_flags = __GFP_DMA32; q->gfp_flags = __GFP_DMA32;
q->buf_struct_size = sizeof(struct saa7146_buf); q->buf_struct_size = sizeof(struct saa7146_buf);
q->lock = &dev->v4l2_lock; q->lock = &dev->v4l2_lock;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->dev = &dev->pci->dev; q->dev = &dev->pci->dev;
err = vb2_queue_init(q); err = vb2_queue_init(q);
if (err) if (err)

View File

@ -865,7 +865,7 @@ int vb2_core_reqbufs(struct vb2_queue *q, enum vb2_memory memory,
/* /*
* Make sure the requested values and current defaults are sane. * Make sure the requested values and current defaults are sane.
*/ */
num_buffers = max_t(unsigned int, *count, q->min_buffers_needed); num_buffers = max_t(unsigned int, *count, q->min_queued_buffers);
num_buffers = min_t(unsigned int, num_buffers, q->max_num_buffers); num_buffers = min_t(unsigned int, num_buffers, q->max_num_buffers);
memset(q->alloc_devs, 0, sizeof(q->alloc_devs)); memset(q->alloc_devs, 0, sizeof(q->alloc_devs));
/* /*
@ -917,7 +917,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 * There is no point in continuing if we can't allocate the minimum
* number of buffers needed by this vb2_queue. * number of buffers needed by this vb2_queue.
*/ */
if (allocated_buffers < q->min_buffers_needed) if (allocated_buffers < q->min_queued_buffers)
ret = -ENOMEM; ret = -ENOMEM;
/* /*
@ -1653,7 +1653,7 @@ EXPORT_SYMBOL_GPL(vb2_core_prepare_buf);
* @q: videobuf2 queue * @q: videobuf2 queue
* *
* Attempt to start streaming. When this function is called there must be * Attempt to start streaming. When this function is called there must be
* at least q->min_buffers_needed buffers queued up (i.e. the minimum * at least q->min_queued_buffers queued up (i.e. the minimum
* number of buffers required for the DMA engine to function). If the * number of buffers required for the DMA engine to function). If the
* @start_streaming op fails it is supposed to return all the driver-owned * @start_streaming op fails it is supposed to return all the driver-owned
* buffers back to vb2 in state QUEUED. Check if that happened and if * buffers back to vb2 in state QUEUED. Check if that happened and if
@ -1846,7 +1846,7 @@ int vb2_core_qbuf(struct vb2_queue *q, struct vb2_buffer *vb, void *pb,
* then we can finally call start_streaming(). * then we can finally call start_streaming().
*/ */
if (q->streaming && !q->start_streaming_called && if (q->streaming && !q->start_streaming_called &&
q->queued_count >= q->min_buffers_needed) { q->queued_count >= q->min_queued_buffers) {
ret = vb2_start_streaming(q); ret = vb2_start_streaming(q);
if (ret) { if (ret) {
/* /*
@ -2210,9 +2210,9 @@ int vb2_core_streamon(struct vb2_queue *q, unsigned int type)
return -EINVAL; return -EINVAL;
} }
if (q_num_bufs < q->min_buffers_needed) { if (q_num_bufs < q->min_queued_buffers) {
dprintk(q, 1, "need at least %u allocated buffers\n", dprintk(q, 1, "need at least %u queued buffers\n",
q->min_buffers_needed); q->min_queued_buffers);
return -EINVAL; return -EINVAL;
} }
@ -2224,7 +2224,7 @@ int vb2_core_streamon(struct vb2_queue *q, unsigned int type)
* Tell driver to start streaming provided sufficient buffers * Tell driver to start streaming provided sufficient buffers
* are available. * are available.
*/ */
if (q->queued_count >= q->min_buffers_needed) { if (q->queued_count >= q->min_queued_buffers) {
ret = vb2_start_streaming(q); ret = vb2_start_streaming(q);
if (ret) if (ret)
goto unprepare; goto unprepare;
@ -2504,7 +2504,7 @@ int vb2_core_queue_init(struct vb2_queue *q)
return -EINVAL; return -EINVAL;
if (WARN_ON(q->max_num_buffers > MAX_BUFFER_INDEX) || if (WARN_ON(q->max_num_buffers > MAX_BUFFER_INDEX) ||
WARN_ON(q->min_buffers_needed > q->max_num_buffers)) WARN_ON(q->min_queued_buffers > q->max_num_buffers))
return -EINVAL; return -EINVAL;
if (WARN_ON(q->requires_requests && !q->supports_requests)) if (WARN_ON(q->requires_requests && !q->supports_requests))
@ -2512,13 +2512,13 @@ int vb2_core_queue_init(struct vb2_queue *q)
/* /*
* This combination is not allowed since a non-zero value of * This combination is not allowed since a non-zero value of
* q->min_buffers_needed can cause vb2_core_qbuf() to fail if * q->min_queued_buffers can cause vb2_core_qbuf() to fail if
* it has to call start_streaming(), and the Request API expects * it has to call start_streaming(), and the Request API expects
* that queueing a request (and thus queueing a buffer contained * that queueing a request (and thus queueing a buffer contained
* in that request) will always succeed. There is no method of * in that request) will always succeed. There is no method of
* propagating an error back to userspace. * propagating an error back to userspace.
*/ */
if (WARN_ON(q->supports_requests && q->min_buffers_needed)) if (WARN_ON(q->supports_requests && q->min_queued_buffers))
return -EINVAL; return -EINVAL;
INIT_LIST_HEAD(&q->queued_list); INIT_LIST_HEAD(&q->queued_list);
@ -2735,14 +2735,14 @@ static int __vb2_init_fileio(struct vb2_queue *q, int read)
return -EBUSY; return -EBUSY;
/* /*
* Start with q->min_buffers_needed + 1, driver can increase it in * Start with q->min_queued_buffers + 1, driver can increase it in
* queue_setup() * queue_setup()
* *
* 'min_buffers_needed' buffers need to be queued up before you * 'min_queued_buffers' buffers need to be queued up before you
* can start streaming, plus 1 for userspace (or in this case, * can start streaming, plus 1 for userspace (or in this case,
* kernelspace) processing. * kernelspace) processing.
*/ */
count = max(2, q->min_buffers_needed + 1); count = max(2, q->min_queued_buffers + 1);
dprintk(q, 3, "setting up file io: mode %s, count %d, read_once %d, write_immediately %d\n", dprintk(q, 3, "setting up file io: mode %s, count %d, read_once %d, write_immediately %d\n",
(read) ? "read" : "write", count, q->fileio_read_once, (read) ? "read" : "write", count, q->fileio_read_once,

View File

@ -171,7 +171,7 @@ int dvb_vb2_init(struct dvb_vb2_ctx *ctx, const char *name, int nonblocking)
q->io_modes = VB2_MMAP; q->io_modes = VB2_MMAP;
q->drv_priv = ctx; q->drv_priv = ctx;
q->buf_struct_size = sizeof(struct dvb_buffer); q->buf_struct_size = sizeof(struct dvb_buffer);
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->ops = &dvb_vb2_qops; q->ops = &dvb_vb2_qops;
q->mem_ops = &vb2_vmalloc_memops; q->mem_ops = &vb2_vmalloc_memops;
q->buf_ops = &dvb_vb2_buf_ops; q->buf_ops = &dvb_vb2_buf_ops;

View File

@ -795,7 +795,7 @@ static int video_i2c_probe(struct i2c_client *client)
queue->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; queue->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
queue->drv_priv = data; queue->drv_priv = data;
queue->buf_struct_size = sizeof(struct video_i2c_buffer); queue->buf_struct_size = sizeof(struct video_i2c_buffer);
queue->min_buffers_needed = 1; queue->min_queued_buffers = 1;
queue->ops = &video_i2c_video_qops; queue->ops = &video_i2c_video_qops;
queue->mem_ops = &vb2_vmalloc_memops; queue->mem_ops = &vb2_vmalloc_memops;

View File

@ -3113,7 +3113,7 @@ static int vdev_init(struct bttv *btv, struct video_device *vfd,
q->gfp_flags = __GFP_DMA32; q->gfp_flags = __GFP_DMA32;
q->buf_struct_size = sizeof(struct bttv_buffer); q->buf_struct_size = sizeof(struct bttv_buffer);
q->lock = &btv->lock; q->lock = &btv->lock;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->dev = &btv->c.pci->dev; q->dev = &btv->c.pci->dev;
err = vb2_queue_init(q); err = vb2_queue_init(q);
if (err) if (err)

View File

@ -1260,7 +1260,7 @@ static int cobalt_node_register(struct cobalt *cobalt, int node)
q->ops = &cobalt_qops; q->ops = &cobalt_qops;
q->mem_ops = &vb2_dma_sg_memops; q->mem_ops = &vb2_dma_sg_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->lock = &s->lock; q->lock = &s->lock;
q->dev = &cobalt->pci_dev->dev; q->dev = &cobalt->pci_dev->dev;
vdev->queue = q; vdev->queue = q;

View File

@ -287,7 +287,7 @@ static int cx18_stream_init(struct cx18 *cx, int type)
s->vidq.ops = &cx18_vb2_qops; s->vidq.ops = &cx18_vb2_qops;
s->vidq.mem_ops = &vb2_vmalloc_memops; s->vidq.mem_ops = &vb2_vmalloc_memops;
s->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; s->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
s->vidq.min_buffers_needed = 2; s->vidq.min_queued_buffers = 2;
s->vidq.gfp_flags = GFP_DMA32; s->vidq.gfp_flags = GFP_DMA32;
s->vidq.dev = &cx->pci_dev->dev; s->vidq.dev = &cx->pci_dev->dev;
s->vidq.lock = &cx->serialize_lock; s->vidq.lock = &cx->serialize_lock;

View File

@ -1525,7 +1525,7 @@ int cx23885_417_register(struct cx23885_dev *dev)
q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = dev; q->drv_priv = dev;
q->buf_struct_size = sizeof(struct cx23885_buffer); q->buf_struct_size = sizeof(struct cx23885_buffer);
q->ops = &cx23885_qops; q->ops = &cx23885_qops;

View File

@ -2667,7 +2667,7 @@ int cx23885_dvb_register(struct cx23885_tsport *port)
q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = port; q->drv_priv = port;
q->buf_struct_size = sizeof(struct cx23885_buffer); q->buf_struct_size = sizeof(struct cx23885_buffer);
q->ops = &dvb_qops; q->ops = &dvb_qops;

View File

@ -1321,7 +1321,7 @@ int cx23885_video_register(struct cx23885_dev *dev)
q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = dev; q->drv_priv = dev;
q->buf_struct_size = sizeof(struct cx23885_buffer); q->buf_struct_size = sizeof(struct cx23885_buffer);
q->ops = &cx23885_video_qops; q->ops = &cx23885_video_qops;
@ -1338,7 +1338,7 @@ int cx23885_video_register(struct cx23885_dev *dev)
q->type = V4L2_BUF_TYPE_VBI_CAPTURE; q->type = V4L2_BUF_TYPE_VBI_CAPTURE;
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = dev; q->drv_priv = dev;
q->buf_struct_size = sizeof(struct cx23885_buffer); q->buf_struct_size = sizeof(struct cx23885_buffer);
q->ops = &cx23885_vbi_qops; q->ops = &cx23885_vbi_qops;

View File

@ -730,7 +730,7 @@ int cx25821_video_register(struct cx25821_dev *dev)
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF;
q->io_modes |= is_output ? VB2_WRITE : VB2_READ; q->io_modes |= is_output ? VB2_WRITE : VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = chan; q->drv_priv = chan;
q->buf_struct_size = sizeof(struct cx25821_buffer); q->buf_struct_size = sizeof(struct cx25821_buffer);
q->ops = &cx25821_video_qops; q->ops = &cx25821_video_qops;

View File

@ -1195,7 +1195,7 @@ static int cx8802_blackbird_probe(struct cx8802_driver *drv)
q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = dev; q->drv_priv = dev;
q->buf_struct_size = sizeof(struct cx88_buffer); q->buf_struct_size = sizeof(struct cx88_buffer);
q->ops = &blackbird_qops; q->ops = &blackbird_qops;

View File

@ -1776,7 +1776,7 @@ static int cx8802_dvb_probe(struct cx8802_driver *drv)
q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = dev; q->drv_priv = dev;
q->buf_struct_size = sizeof(struct cx88_buffer); q->buf_struct_size = sizeof(struct cx88_buffer);
q->ops = &dvb_qops; q->ops = &dvb_qops;

View File

@ -1411,7 +1411,7 @@ static int cx8800_initdev(struct pci_dev *pci_dev,
q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = dev; q->drv_priv = dev;
q->buf_struct_size = sizeof(struct cx88_buffer); q->buf_struct_size = sizeof(struct cx88_buffer);
q->ops = &cx8800_video_qops; q->ops = &cx8800_video_qops;
@ -1428,7 +1428,7 @@ static int cx8800_initdev(struct pci_dev *pci_dev,
q->type = V4L2_BUF_TYPE_VBI_CAPTURE; q->type = V4L2_BUF_TYPE_VBI_CAPTURE;
q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ; q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF | VB2_READ;
q->gfp_flags = GFP_DMA32; q->gfp_flags = GFP_DMA32;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->drv_priv = dev; q->drv_priv = dev;
q->buf_struct_size = sizeof(struct cx88_buffer); q->buf_struct_size = sizeof(struct cx88_buffer);
q->ops = &cx8800_vbi_qops; q->ops = &cx8800_vbi_qops;

View File

@ -517,7 +517,7 @@ static int dt3155_probe(struct pci_dev *pdev, const struct pci_device_id *id)
pd->vidq.ops = &q_ops; pd->vidq.ops = &q_ops;
pd->vidq.mem_ops = &vb2_dma_contig_memops; pd->vidq.mem_ops = &vb2_dma_contig_memops;
pd->vidq.drv_priv = pd; pd->vidq.drv_priv = pd;
pd->vidq.min_buffers_needed = 2; pd->vidq.min_queued_buffers = 2;
pd->vidq.gfp_flags = GFP_DMA32; pd->vidq.gfp_flags = GFP_DMA32;
pd->vidq.lock = &pd->mux; /* for locking v4l2_file_operations */ pd->vidq.lock = &pd->mux; /* for locking v4l2_file_operations */
pd->vidq.dev = &pdev->dev; pd->vidq.dev = &pdev->dev;

View File

@ -1589,7 +1589,7 @@ static int cio2_queue_init(struct cio2_device *cio2, struct cio2_queue *q)
vbq->mem_ops = &vb2_dma_sg_memops; vbq->mem_ops = &vb2_dma_sg_memops;
vbq->buf_struct_size = sizeof(struct cio2_buffer); vbq->buf_struct_size = sizeof(struct cio2_buffer);
vbq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vbq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vbq->min_buffers_needed = 1; vbq->min_queued_buffers = 1;
vbq->drv_priv = cio2; vbq->drv_priv = cio2;
vbq->lock = &q->lock; vbq->lock = &q->lock;
r = vb2_queue_init(vbq); r = vb2_queue_init(vbq);

View File

@ -849,7 +849,7 @@ struct mgb4_vin_dev *mgb4_vin_create(struct mgb4_dev *mgbdev, int id)
vindev->queue.mem_ops = &vb2_dma_sg_memops; vindev->queue.mem_ops = &vb2_dma_sg_memops;
vindev->queue.gfp_flags = GFP_DMA32; vindev->queue.gfp_flags = GFP_DMA32;
vindev->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vindev->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vindev->queue.min_buffers_needed = 2; vindev->queue.min_queued_buffers = 2;
vindev->queue.drv_priv = vindev; vindev->queue.drv_priv = vindev;
vindev->queue.lock = &vindev->lock; vindev->queue.lock = &vindev->lock;
vindev->queue.dev = dev; vindev->queue.dev = dev;

View File

@ -523,7 +523,7 @@ struct mgb4_vout_dev *mgb4_vout_create(struct mgb4_dev *mgbdev, int id)
voutdev->queue.mem_ops = &vb2_dma_sg_memops; voutdev->queue.mem_ops = &vb2_dma_sg_memops;
voutdev->queue.gfp_flags = GFP_DMA32; voutdev->queue.gfp_flags = GFP_DMA32;
voutdev->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; voutdev->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
voutdev->queue.min_buffers_needed = 2; voutdev->queue.min_queued_buffers = 2;
voutdev->queue.drv_priv = voutdev; voutdev->queue.drv_priv = voutdev;
voutdev->queue.lock = &voutdev->lock; voutdev->queue.lock = &voutdev->lock;
voutdev->queue.dev = dev; voutdev->queue.dev = dev;

View File

@ -1114,7 +1114,7 @@ static int tw5864_video_input_init(struct tw5864_input *input, int video_nr)
input->vidq.gfp_flags = 0; input->vidq.gfp_flags = 0;
input->vidq.buf_struct_size = sizeof(struct tw5864_buf); input->vidq.buf_struct_size = sizeof(struct tw5864_buf);
input->vidq.lock = &input->lock; input->vidq.lock = &input->lock;
input->vidq.min_buffers_needed = 2; input->vidq.min_queued_buffers = 2;
input->vidq.dev = &input->root->pci->dev; input->vidq.dev = &input->root->pci->dev;
ret = vb2_queue_init(&input->vidq); ret = vb2_queue_init(&input->vidq);
if (ret) if (ret)

View File

@ -952,7 +952,7 @@ int tw68_video_init2(struct tw68_dev *dev, int video_nr)
dev->vidq.gfp_flags = __GFP_DMA32 | __GFP_KSWAPD_RECLAIM; dev->vidq.gfp_flags = __GFP_DMA32 | __GFP_KSWAPD_RECLAIM;
dev->vidq.buf_struct_size = sizeof(struct tw68_buf); dev->vidq.buf_struct_size = sizeof(struct tw68_buf);
dev->vidq.lock = &dev->lock; dev->vidq.lock = &dev->lock;
dev->vidq.min_buffers_needed = 2; dev->vidq.min_queued_buffers = 2;
dev->vidq.dev = &dev->pci->dev; dev->vidq.dev = &dev->pci->dev;
ret = vb2_queue_init(&dev->vidq); ret = vb2_queue_init(&dev->vidq);
if (ret) if (ret)

View File

@ -1222,7 +1222,7 @@ int tw686x_video_init(struct tw686x_dev *dev)
vc->vidq.ops = &tw686x_video_qops; vc->vidq.ops = &tw686x_video_qops;
vc->vidq.mem_ops = dev->dma_ops->mem_ops; vc->vidq.mem_ops = dev->dma_ops->mem_ops;
vc->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vc->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vc->vidq.min_buffers_needed = 2; vc->vidq.min_queued_buffers = 2;
vc->vidq.lock = &vc->vb_mutex; vc->vidq.lock = &vc->vb_mutex;
vc->vidq.gfp_flags = dev->dma_mode != TW686X_DMA_MODE_MEMCPY ? vc->vidq.gfp_flags = dev->dma_mode != TW686X_DMA_MODE_MEMCPY ?
GFP_DMA32 : 0; GFP_DMA32 : 0;

View File

@ -749,8 +749,8 @@ static int zr_vb2_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, unsi
zr->buf_in_reserve = 0; zr->buf_in_reserve = 0;
if (*nbuffers < vq->min_buffers_needed) if (*nbuffers < vq->min_queued_buffers)
*nbuffers = vq->min_buffers_needed; *nbuffers = vq->min_queued_buffers;
if (*nplanes) { if (*nplanes) {
if (sizes[0] < size) if (sizes[0] < size)
@ -971,7 +971,7 @@ int zoran_queue_init(struct zoran *zr, struct vb2_queue *vq, int dir)
vq->mem_ops = &vb2_dma_contig_memops; vq->mem_ops = &vb2_dma_contig_memops;
vq->gfp_flags = GFP_DMA32; vq->gfp_flags = GFP_DMA32;
vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vq->min_buffers_needed = 9; vq->min_queued_buffers = 9;
vq->lock = &zr->lock; vq->lock = &zr->lock;
err = vb2_queue_init(vq); err = vb2_queue_init(vq);
if (err) if (err)

View File

@ -649,7 +649,7 @@ static int vpu_m2m_queue_init(void *priv, struct vb2_queue *src_vq, struct vb2_q
src_vq->mem_ops = &vb2_vmalloc_memops; src_vq->mem_ops = &vb2_vmalloc_memops;
src_vq->drv_priv = inst; src_vq->drv_priv = inst;
src_vq->buf_struct_size = sizeof(struct vpu_vb2_buffer); src_vq->buf_struct_size = sizeof(struct vpu_vb2_buffer);
src_vq->min_buffers_needed = 1; src_vq->min_queued_buffers = 1;
src_vq->dev = inst->vpu->dev; src_vq->dev = inst->vpu->dev;
src_vq->lock = &inst->lock; src_vq->lock = &inst->lock;
ret = vb2_queue_init(src_vq); ret = vb2_queue_init(src_vq);
@ -666,7 +666,7 @@ static int vpu_m2m_queue_init(void *priv, struct vb2_queue *src_vq, struct vb2_q
dst_vq->mem_ops = &vb2_vmalloc_memops; dst_vq->mem_ops = &vb2_vmalloc_memops;
dst_vq->drv_priv = inst; dst_vq->drv_priv = inst;
dst_vq->buf_struct_size = sizeof(struct vpu_vb2_buffer); dst_vq->buf_struct_size = sizeof(struct vpu_vb2_buffer);
dst_vq->min_buffers_needed = 1; dst_vq->min_queued_buffers = 1;
dst_vq->dev = inst->vpu->dev; dst_vq->dev = inst->vpu->dev;
dst_vq->lock = &inst->lock; dst_vq->lock = &inst->lock;
ret = vb2_queue_init(dst_vq); ret = vb2_queue_init(dst_vq);

View File

@ -2034,7 +2034,7 @@ static int aspeed_video_setup_video(struct aspeed_video *video)
vbq->drv_priv = video; vbq->drv_priv = video;
vbq->buf_struct_size = sizeof(struct aspeed_video_buffer); vbq->buf_struct_size = sizeof(struct aspeed_video_buffer);
vbq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vbq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vbq->min_buffers_needed = ASPEED_VIDEO_V4L2_MIN_BUF_REQ; vbq->min_queued_buffers = ASPEED_VIDEO_V4L2_MIN_BUF_REQ;
rc = vb2_queue_init(vbq); rc = vb2_queue_init(vbq);
if (rc) { if (rc) {

View File

@ -1245,7 +1245,7 @@ static int atmel_isi_probe(struct platform_device *pdev)
q->ops = &isi_video_qops; q->ops = &isi_video_qops;
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->dev = &pdev->dev; q->dev = &pdev->dev;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);

View File

@ -2546,7 +2546,7 @@ static int coda_queue_init(struct coda_ctx *ctx, struct vb2_queue *vq)
* would need to be reflected in job_ready(). Currently we expect all * would need to be reflected in job_ready(). Currently we expect all
* queues to have at least one buffer queued. * queues to have at least one buffer queued.
*/ */
vq->min_buffers_needed = 1; vq->min_queued_buffers = 1;
vq->dev = ctx->dev->dev; vq->dev = ctx->dev->dev;
return vb2_queue_init(vq); return vb2_queue_init(vq);

View File

@ -1780,7 +1780,7 @@ static int isc_async_complete(struct v4l2_async_notifier *notifier)
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->lock = &isc->lock; q->lock = &isc->lock;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->dev = isc->dev; q->dev = isc->dev;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);

View File

@ -1612,7 +1612,7 @@ static int npcm_video_setup_video(struct npcm_video *video)
vbq->drv_priv = video; vbq->drv_priv = video;
vbq->buf_struct_size = sizeof(struct npcm_video_buffer); vbq->buf_struct_size = sizeof(struct npcm_video_buffer);
vbq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vbq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vbq->min_buffers_needed = 3; vbq->min_queued_buffers = 3;
rc = vb2_queue_init(vbq); rc = vb2_queue_init(vbq);
if (rc) { if (rc) {

View File

@ -1691,7 +1691,7 @@ static int imx7_csi_video_init(struct imx7_csi *csi)
vq->mem_ops = &vb2_dma_contig_memops; vq->mem_ops = &vb2_dma_contig_memops;
vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vq->lock = &csi->vdev_mutex; vq->lock = &csi->vdev_mutex;
vq->min_buffers_needed = 2; vq->min_queued_buffers = 2;
vq->dev = csi->dev; vq->dev = csi->dev;
ret = vb2_queue_init(vq); ret = vb2_queue_init(vq);

View File

@ -1453,7 +1453,7 @@ int mxc_isi_video_register(struct mxc_isi_pipe *pipe,
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->buf_struct_size = sizeof(struct mxc_isi_buffer); q->buf_struct_size = sizeof(struct mxc_isi_buffer);
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->lock = &video->lock; q->lock = &video->lock;
q->dev = pipe->isi->dev; q->dev = pipe->isi->dev;

View File

@ -1641,7 +1641,7 @@ static int m2m_queue_init(void *priv, struct vb2_queue *src_vq,
src_vq->drv_priv = inst; src_vq->drv_priv = inst;
src_vq->buf_struct_size = sizeof(struct venus_buffer); src_vq->buf_struct_size = sizeof(struct venus_buffer);
src_vq->allow_zero_bytesused = 1; src_vq->allow_zero_bytesused = 1;
src_vq->min_buffers_needed = 0; src_vq->min_queued_buffers = 0;
src_vq->dev = inst->core->dev; src_vq->dev = inst->core->dev;
src_vq->lock = &inst->ctx_q_lock; src_vq->lock = &inst->ctx_q_lock;
ret = vb2_queue_init(src_vq); ret = vb2_queue_init(src_vq);
@ -1656,7 +1656,7 @@ static int m2m_queue_init(void *priv, struct vb2_queue *src_vq,
dst_vq->drv_priv = inst; dst_vq->drv_priv = inst;
dst_vq->buf_struct_size = sizeof(struct venus_buffer); dst_vq->buf_struct_size = sizeof(struct venus_buffer);
dst_vq->allow_zero_bytesused = 1; dst_vq->allow_zero_bytesused = 1;
dst_vq->min_buffers_needed = 0; dst_vq->min_queued_buffers = 0;
dst_vq->dev = inst->core->dev; dst_vq->dev = inst->core->dev;
dst_vq->lock = &inst->ctx_q_lock; dst_vq->lock = &inst->ctx_q_lock;
return vb2_queue_init(dst_vq); return vb2_queue_init(dst_vq);

View File

@ -1398,7 +1398,7 @@ static int m2m_queue_init(void *priv, struct vb2_queue *src_vq,
src_vq->drv_priv = inst; src_vq->drv_priv = inst;
src_vq->buf_struct_size = sizeof(struct venus_buffer); src_vq->buf_struct_size = sizeof(struct venus_buffer);
src_vq->allow_zero_bytesused = 1; src_vq->allow_zero_bytesused = 1;
src_vq->min_buffers_needed = 1; src_vq->min_queued_buffers = 1;
src_vq->dev = inst->core->dev; src_vq->dev = inst->core->dev;
src_vq->lock = &inst->ctx_q_lock; src_vq->lock = &inst->ctx_q_lock;
if (inst->core->res->hfi_version == HFI_VERSION_1XX) if (inst->core->res->hfi_version == HFI_VERSION_1XX)
@ -1415,7 +1415,7 @@ static int m2m_queue_init(void *priv, struct vb2_queue *src_vq,
dst_vq->drv_priv = inst; dst_vq->drv_priv = inst;
dst_vq->buf_struct_size = sizeof(struct venus_buffer); dst_vq->buf_struct_size = sizeof(struct venus_buffer);
dst_vq->allow_zero_bytesused = 1; dst_vq->allow_zero_bytesused = 1;
dst_vq->min_buffers_needed = 1; dst_vq->min_queued_buffers = 1;
dst_vq->dev = inst->core->dev; dst_vq->dev = inst->core->dev;
dst_vq->lock = &inst->ctx_q_lock; dst_vq->lock = &inst->ctx_q_lock;
return vb2_queue_init(dst_vq); return vb2_queue_init(dst_vq);

View File

@ -1559,7 +1559,7 @@ int rvin_dma_register(struct rvin_dev *vin, int irq)
q->ops = &rvin_qops; q->ops = &rvin_qops;
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 4; q->min_queued_buffers = 4;
q->dev = vin->dev; q->dev = vin->dev;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);

View File

@ -1399,7 +1399,7 @@ static int ceu_notify_complete(struct v4l2_async_notifier *notifier)
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->buf_struct_size = sizeof(struct ceu_buffer); q->buf_struct_size = sizeof(struct ceu_buffer);
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->lock = &ceudev->mlock; q->lock = &ceudev->mlock;
q->dev = ceudev->v4l2_dev.dev; q->dev = ceudev->v4l2_dev.dev;

View File

@ -767,7 +767,7 @@ int rzg2l_cru_dma_register(struct rzg2l_cru_dev *cru)
q->ops = &rzg2l_cru_qops; q->ops = &rzg2l_cru_qops;
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 4; q->min_queued_buffers = 4;
q->dev = cru->dev; q->dev = cru->dev;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);

View File

@ -1297,7 +1297,7 @@ static int sh_vou_probe(struct platform_device *pdev)
q->ops = &sh_vou_qops; q->ops = &sh_vou_qops;
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->lock = &vou_dev->fop_lock; q->lock = &vou_dev->fop_lock;
q->dev = &pdev->dev; q->dev = &pdev->dev;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);

View File

@ -1431,7 +1431,7 @@ static int rkisp1_register_capture(struct rkisp1_capture *cap)
q->ops = &rkisp1_vb2_ops; q->ops = &rkisp1_vb2_ops;
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->buf_struct_size = sizeof(struct rkisp1_buffer); q->buf_struct_size = sizeof(struct rkisp1_buffer);
q->min_buffers_needed = RKISP1_MIN_BUFFERS_NEEDED; q->min_queued_buffers = RKISP1_MIN_BUFFERS_NEEDED;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->lock = &node->vlock; q->lock = &node->vlock;
q->dev = cap->rkisp1->dev; q->dev = cap->rkisp1->dev;

View File

@ -1142,7 +1142,7 @@ static int hva_queue_init(void *priv, struct vb2_queue *src_vq,
src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
src_vq->buf_struct_size = sizeof(struct hva_frame); src_vq->buf_struct_size = sizeof(struct hva_frame);
src_vq->min_buffers_needed = MIN_FRAMES; src_vq->min_queued_buffers = MIN_FRAMES;
src_vq->dev = ctx->hva_dev->dev; src_vq->dev = ctx->hva_dev->dev;
ret = queue_init(ctx, src_vq); ret = queue_init(ctx, src_vq);
@ -1151,7 +1151,7 @@ static int hva_queue_init(void *priv, struct vb2_queue *src_vq,
dst_vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; dst_vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
dst_vq->buf_struct_size = sizeof(struct hva_stream); dst_vq->buf_struct_size = sizeof(struct hva_stream);
dst_vq->min_buffers_needed = MIN_STREAMS; dst_vq->min_queued_buffers = MIN_STREAMS;
dst_vq->dev = ctx->hva_dev->dev; dst_vq->dev = ctx->hva_dev->dev;
return queue_init(ctx, dst_vq); return queue_init(ctx, dst_vq);

View File

@ -2031,7 +2031,7 @@ static int dcmi_probe(struct platform_device *pdev)
q->ops = &dcmi_video_qops; q->ops = &dcmi_video_qops;
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->allow_cache_hints = 1; q->allow_cache_hints = 1;
q->dev = &pdev->dev; q->dev = &pdev->dev;

View File

@ -424,7 +424,7 @@ static int dcmipp_bytecap_start_streaming(struct vb2_queue *vq,
reg_set(vcap, DCMIPP_P0FSCR, DCMIPP_P0FSCR_PIPEN); reg_set(vcap, DCMIPP_P0FSCR, DCMIPP_P0FSCR_PIPEN);
/* /*
* vb2 framework guarantee that we have at least 'min_buffers_needed' * vb2 framework guarantee that we have at least 'min_queued_buffers'
* buffers in the list at this moment * buffers in the list at this moment
*/ */
vcap->next = list_first_entry(&vcap->buffers, typeof(*buf), list); vcap->next = list_first_entry(&vcap->buffers, typeof(*buf), list);
@ -889,7 +889,7 @@ struct dcmipp_ent_device *dcmipp_bytecap_ent_init(struct device *dev,
q->ops = &dcmipp_bytecap_qops; q->ops = &dcmipp_bytecap_qops;
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->dev = dev; q->dev = dev;
/* DCMIPP requires 16 bytes aligned buffers */ /* DCMIPP requires 16 bytes aligned buffers */

View File

@ -411,7 +411,7 @@ int sun4i_csi_dma_register(struct sun4i_csi *csi, int irq)
for (i = 0; i < CSI_MAX_BUFFER; i++) for (i = 0; i < CSI_MAX_BUFFER; i++)
csi->current_buf[i] = NULL; csi->current_buf[i] = NULL;
q->min_buffers_needed = 3; q->min_queued_buffers = 3;
q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
q->io_modes = VB2_MMAP | VB2_DMABUF; q->io_modes = VB2_MMAP | VB2_DMABUF;
q->lock = &csi->lock; q->lock = &csi->lock;

View File

@ -1010,7 +1010,7 @@ int sun6i_csi_capture_setup(struct sun6i_csi_device *csi_dev)
queue->buf_struct_size = sizeof(struct sun6i_csi_buffer); queue->buf_struct_size = sizeof(struct sun6i_csi_buffer);
queue->ops = &sun6i_csi_capture_queue_ops; queue->ops = &sun6i_csi_capture_queue_ops;
queue->mem_ops = &vb2_dma_contig_memops; queue->mem_ops = &vb2_dma_contig_memops;
queue->min_buffers_needed = 2; queue->min_queued_buffers = 2;
queue->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; queue->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
queue->lock = &capture->lock; queue->lock = &capture->lock;
queue->dev = csi_dev->dev; queue->dev = csi_dev->dev;

View File

@ -673,7 +673,7 @@ static int deinterlace_queue_init(void *priv, struct vb2_queue *src_vq,
src_vq->io_modes = VB2_MMAP | VB2_DMABUF; src_vq->io_modes = VB2_MMAP | VB2_DMABUF;
src_vq->drv_priv = ctx; src_vq->drv_priv = ctx;
src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
src_vq->min_buffers_needed = 1; src_vq->min_queued_buffers = 1;
src_vq->ops = &deinterlace_qops; src_vq->ops = &deinterlace_qops;
src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->mem_ops = &vb2_dma_contig_memops;
src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
@ -688,7 +688,7 @@ static int deinterlace_queue_init(void *priv, struct vb2_queue *src_vq,
dst_vq->io_modes = VB2_MMAP | VB2_DMABUF; dst_vq->io_modes = VB2_MMAP | VB2_DMABUF;
dst_vq->drv_priv = ctx; dst_vq->drv_priv = ctx;
dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
dst_vq->min_buffers_needed = 2; dst_vq->min_queued_buffers = 2;
dst_vq->ops = &deinterlace_qops; dst_vq->ops = &deinterlace_qops;
dst_vq->mem_ops = &vb2_dma_contig_memops; dst_vq->mem_ops = &vb2_dma_contig_memops;
dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;

View File

@ -536,7 +536,7 @@ static int rotate_queue_init(void *priv, struct vb2_queue *src_vq,
src_vq->io_modes = VB2_MMAP | VB2_DMABUF; src_vq->io_modes = VB2_MMAP | VB2_DMABUF;
src_vq->drv_priv = ctx; src_vq->drv_priv = ctx;
src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
src_vq->min_buffers_needed = 1; src_vq->min_queued_buffers = 1;
src_vq->ops = &rotate_qops; src_vq->ops = &rotate_qops;
src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->mem_ops = &vb2_dma_contig_memops;
src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
@ -551,7 +551,7 @@ static int rotate_queue_init(void *priv, struct vb2_queue *src_vq,
dst_vq->io_modes = VB2_MMAP | VB2_DMABUF; dst_vq->io_modes = VB2_MMAP | VB2_DMABUF;
dst_vq->drv_priv = ctx; dst_vq->drv_priv = ctx;
dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
dst_vq->min_buffers_needed = 2; dst_vq->min_queued_buffers = 2;
dst_vq->ops = &rotate_qops; dst_vq->ops = &rotate_qops;
dst_vq->mem_ops = &vb2_dma_contig_memops; dst_vq->mem_ops = &vb2_dma_contig_memops;
dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;

View File

@ -2234,7 +2234,7 @@ static int vpfe_probe_complete(struct vpfe_device *vpfe)
q->buf_struct_size = sizeof(struct vpfe_cap_buffer); q->buf_struct_size = sizeof(struct vpfe_cap_buffer);
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->lock = &vpfe->lock; q->lock = &vpfe->lock;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->dev = vpfe->pdev; q->dev = vpfe->pdev;
err = vb2_queue_init(q); err = vb2_queue_init(q);

View File

@ -1010,7 +1010,7 @@ int cal_ctx_v4l2_init(struct cal_ctx *ctx)
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->lock = &ctx->mutex; q->lock = &ctx->mutex;
q->min_buffers_needed = 3; q->min_queued_buffers = 3;
q->dev = ctx->cal->dev; q->dev = ctx->cal->dev;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);

View File

@ -1429,7 +1429,7 @@ static int vpif_probe_complete(void)
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->buf_struct_size = sizeof(struct vpif_cap_buffer); q->buf_struct_size = sizeof(struct vpif_cap_buffer);
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->lock = &common->lock; q->lock = &common->lock;
q->dev = vpif_dev; q->dev = vpif_dev;

View File

@ -1169,7 +1169,7 @@ static int vpif_probe_complete(void)
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->buf_struct_size = sizeof(struct vpif_disp_buffer); q->buf_struct_size = sizeof(struct vpif_disp_buffer);
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->lock = &common->lock; q->lock = &common->lock;
q->dev = vpif_dev; q->dev = vpif_dev;
err = vb2_queue_init(q); err = vb2_queue_init(q);

View File

@ -873,7 +873,7 @@ static int ti_csi2rx_init_vb2q(struct ti_csi2rx_dev *csi)
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->dev = dmaengine_get_dma_device(csi->dma.chan); q->dev = dmaengine_get_dma_device(csi->dma.chan);
q->lock = &csi->mutex; q->lock = &csi->mutex;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);
if (ret) if (ret)

View File

@ -1404,7 +1404,7 @@ static int __init omap_vout_setup_video_data(struct omap_vout_device *vout)
vq->ops = &omap_vout_vb2_ops; vq->ops = &omap_vout_vb2_ops;
vq->mem_ops = &vb2_dma_contig_memops; vq->mem_ops = &vb2_dma_contig_memops;
vq->lock = &vout->lock; vq->lock = &vout->lock;
vq->min_buffers_needed = 1; vq->min_queued_buffers = 1;
vfd->queue = vq; vfd->queue = vq;
ret = vb2_queue_init(vq); ret = vb2_queue_init(vq);

View File

@ -432,7 +432,7 @@ static struct vimc_ent_device *vimc_capture_add(struct vimc_device *vimc,
q->mem_ops = vimc_allocator == VIMC_ALLOCATOR_DMA_CONTIG q->mem_ops = vimc_allocator == VIMC_ALLOCATOR_DMA_CONTIG
? &vb2_dma_contig_memops : &vb2_vmalloc_memops; ? &vb2_dma_contig_memops : &vb2_vmalloc_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->lock = &vcapture->lock; q->lock = &vcapture->lock;
q->dev = v4l2_dev->dev; q->dev = v4l2_dev->dev;

View File

@ -861,7 +861,7 @@ static const struct media_device_ops vivid_media_ops = {
static int vivid_create_queue(struct vivid_dev *dev, static int vivid_create_queue(struct vivid_dev *dev,
struct vb2_queue *q, struct vb2_queue *q,
u32 buf_type, u32 buf_type,
unsigned int min_buffers_needed, unsigned int min_queued_buffers,
const struct vb2_ops *ops) const struct vb2_ops *ops)
{ {
if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE && dev->multiplanar) if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE && dev->multiplanar)
@ -898,7 +898,7 @@ static int vivid_create_queue(struct vivid_dev *dev,
q->mem_ops = allocators[dev->inst] == 1 ? &vb2_dma_contig_memops : q->mem_ops = allocators[dev->inst] == 1 ? &vb2_dma_contig_memops :
&vb2_vmalloc_memops; &vb2_vmalloc_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = supports_requests[dev->inst] ? 0 : min_buffers_needed; q->min_queued_buffers = supports_requests[dev->inst] ? 0 : min_queued_buffers;
q->lock = &dev->mutex; q->lock = &dev->mutex;
q->dev = dev->v4l2_dev.dev; q->dev = dev->v4l2_dev.dev;
q->supports_requests = supports_requests[dev->inst]; q->supports_requests = supports_requests[dev->inst];

View File

@ -1782,7 +1782,7 @@ int cx231xx_417_register(struct cx231xx *dev)
q->ops = &cx231xx_video_qops; q->ops = &cx231xx_video_qops;
q->mem_ops = &vb2_vmalloc_memops; q->mem_ops = &vb2_vmalloc_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->lock = &dev->lock; q->lock = &dev->lock;
err = vb2_queue_init(q); err = vb2_queue_init(q);
if (err) if (err)

View File

@ -1811,7 +1811,7 @@ int cx231xx_register_analog_devices(struct cx231xx *dev)
q->ops = &cx231xx_video_qops; q->ops = &cx231xx_video_qops;
q->mem_ops = &vb2_vmalloc_memops; q->mem_ops = &vb2_vmalloc_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->lock = &dev->lock; q->lock = &dev->lock;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);
if (ret) if (ret)
@ -1871,7 +1871,7 @@ int cx231xx_register_analog_devices(struct cx231xx *dev)
q->ops = &cx231xx_vbi_qops; q->ops = &cx231xx_vbi_qops;
q->mem_ops = &vb2_vmalloc_memops; q->mem_ops = &vb2_vmalloc_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->lock = &dev->lock; q->lock = &dev->lock;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);
if (ret) if (ret)

View File

@ -1632,7 +1632,7 @@ static int cxusb_medion_register_analog_video(struct dvb_usb_device *dvbdev)
cxdev->videoqueue.buf_struct_size = cxdev->videoqueue.buf_struct_size =
sizeof(struct cxusb_medion_vbuffer); sizeof(struct cxusb_medion_vbuffer);
cxdev->videoqueue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; cxdev->videoqueue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
cxdev->videoqueue.min_buffers_needed = 6; cxdev->videoqueue.min_queued_buffers = 6;
cxdev->videoqueue.lock = &cxdev->dev_lock; cxdev->videoqueue.lock = &cxdev->dev_lock;
ret = vb2_queue_init(&cxdev->videoqueue); ret = vb2_queue_init(&cxdev->videoqueue);

View File

@ -1257,7 +1257,7 @@ static int vidioc_g_parm(struct file *filp, void *priv,
{ {
struct gspca_dev *gspca_dev = video_drvdata(filp); struct gspca_dev *gspca_dev = video_drvdata(filp);
parm->parm.capture.readbuffers = gspca_dev->queue.min_buffers_needed; parm->parm.capture.readbuffers = gspca_dev->queue.min_queued_buffers;
if (!gspca_dev->sd_desc->get_streamparm) if (!gspca_dev->sd_desc->get_streamparm)
return 0; return 0;
@ -1273,7 +1273,7 @@ static int vidioc_s_parm(struct file *filp, void *priv,
{ {
struct gspca_dev *gspca_dev = video_drvdata(filp); struct gspca_dev *gspca_dev = video_drvdata(filp);
parm->parm.capture.readbuffers = gspca_dev->queue.min_buffers_needed; parm->parm.capture.readbuffers = gspca_dev->queue.min_queued_buffers;
if (!gspca_dev->sd_desc->set_streamparm) { if (!gspca_dev->sd_desc->set_streamparm) {
parm->parm.capture.capability = 0; parm->parm.capture.capability = 0;
@ -1517,7 +1517,7 @@ int gspca_dev_probe2(struct usb_interface *intf,
q->ops = &gspca_qops; q->ops = &gspca_qops;
q->mem_ops = &vb2_vmalloc_memops; q->mem_ops = &vb2_vmalloc_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
q->lock = &gspca_dev->usb_lock; q->lock = &gspca_dev->usb_lock;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);
if (ret) if (ret)

View File

@ -1871,7 +1871,7 @@ static int isc_async_complete(struct v4l2_async_notifier *notifier)
q->mem_ops = &vb2_dma_contig_memops; q->mem_ops = &vb2_dma_contig_memops;
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
q->lock = &isc->lock; q->lock = &isc->lock;
q->min_buffers_needed = 1; q->min_queued_buffers = 1;
q->dev = isc->dev; q->dev = isc->dev;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);

View File

@ -1024,7 +1024,7 @@ imx_media_capture_device_init(struct device *dev, struct v4l2_subdev *src_sd,
vq->mem_ops = &vb2_dma_contig_memops; vq->mem_ops = &vb2_dma_contig_memops;
vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
vq->lock = &priv->mutex; vq->lock = &priv->mutex;
vq->min_buffers_needed = 2; vq->min_queued_buffers = 2;
vq->dev = priv->dev; vq->dev = priv->dev;
ret = vb2_queue_init(vq); ret = vb2_queue_init(vq);

View File

@ -1198,7 +1198,7 @@ static int imgu_v4l2_node_setup(struct imgu_device *imgu, unsigned int pipe,
vbq->buf_struct_size = imgu->buf_struct_size; vbq->buf_struct_size = imgu->buf_struct_size;
vbq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; vbq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
/* can streamon w/o buffers */ /* can streamon w/o buffers */
vbq->min_buffers_needed = 0; vbq->min_queued_buffers = 0;
vbq->drv_priv = imgu; vbq->drv_priv = imgu;
vbq->lock = &node->lock; vbq->lock = &node->lock;
r = vb2_queue_init(vbq); r = vb2_queue_init(vbq);

View File

@ -184,7 +184,7 @@ static void process_num_buffers(struct vb2_queue *q,
* we need all of them to be queued into the driver * we need all of them to be queued into the driver
*/ */
sess->num_dst_bufs = q_num_bufs + *num_buffers; sess->num_dst_bufs = q_num_bufs + *num_buffers;
q->min_buffers_needed = max(fmt_out->min_buffers, sess->num_dst_bufs); q->min_queued_buffers = max(fmt_out->min_buffers, sess->num_dst_bufs);
} }
static int vdec_queue_setup(struct vb2_queue *q, unsigned int *num_buffers, static int vdec_queue_setup(struct vb2_queue *q, unsigned int *num_buffers,
@ -825,7 +825,7 @@ static int m2m_queue_init(void *priv, struct vb2_queue *src_vq,
src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->mem_ops = &vb2_dma_contig_memops;
src_vq->drv_priv = sess; src_vq->drv_priv = sess;
src_vq->buf_struct_size = sizeof(struct dummy_buf); src_vq->buf_struct_size = sizeof(struct dummy_buf);
src_vq->min_buffers_needed = 1; src_vq->min_queued_buffers = 1;
src_vq->dev = sess->core->dev; src_vq->dev = sess->core->dev;
src_vq->lock = &sess->lock; src_vq->lock = &sess->lock;
ret = vb2_queue_init(src_vq); ret = vb2_queue_init(src_vq);
@ -839,7 +839,7 @@ static int m2m_queue_init(void *priv, struct vb2_queue *src_vq,
dst_vq->mem_ops = &vb2_dma_contig_memops; dst_vq->mem_ops = &vb2_dma_contig_memops;
dst_vq->drv_priv = sess; dst_vq->drv_priv = sess;
dst_vq->buf_struct_size = sizeof(struct dummy_buf); dst_vq->buf_struct_size = sizeof(struct dummy_buf);
dst_vq->min_buffers_needed = 1; dst_vq->min_queued_buffers = 1;
dst_vq->dev = sess->core->dev; dst_vq->dev = sess->core->dev;
dst_vq->lock = &sess->lock; dst_vq->lock = &sess->lock;
return vb2_queue_init(dst_vq); return vb2_queue_init(dst_vq);

View File

@ -513,7 +513,7 @@ int stf_video_register(struct stfcamss_video *video,
q->buf_struct_size = sizeof(struct stfcamss_buffer); q->buf_struct_size = sizeof(struct stfcamss_buffer);
q->dev = video->stfcamss->dev; q->dev = video->stfcamss->dev;
q->lock = &video->q_lock; q->lock = &video->q_lock;
q->min_buffers_needed = STFCAMSS_MIN_BUFFERS; q->min_queued_buffers = STFCAMSS_MIN_BUFFERS;
ret = vb2_queue_init(q); ret = vb2_queue_init(q);
if (ret < 0) { if (ret < 0) {
dev_err(video->stfcamss->dev, dev_err(video->stfcamss->dev,

View File

@ -660,7 +660,7 @@ int sun6i_isp_capture_setup(struct sun6i_isp_device *isp_dev)
queue->buf_struct_size = sizeof(struct sun6i_isp_buffer); queue->buf_struct_size = sizeof(struct sun6i_isp_buffer);
queue->ops = &sun6i_isp_capture_queue_ops; queue->ops = &sun6i_isp_capture_queue_ops;
queue->mem_ops = &vb2_dma_contig_memops; queue->mem_ops = &vb2_dma_contig_memops;
queue->min_buffers_needed = 2; queue->min_queued_buffers = 2;
queue->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; queue->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
queue->lock = &capture->lock; queue->lock = &capture->lock;
queue->dev = isp_dev->dev; queue->dev = isp_dev->dev;

View File

@ -489,7 +489,7 @@ int sun6i_isp_params_setup(struct sun6i_isp_device *isp_dev)
queue->buf_struct_size = sizeof(struct sun6i_isp_buffer); queue->buf_struct_size = sizeof(struct sun6i_isp_buffer);
queue->ops = &sun6i_isp_params_queue_ops; queue->ops = &sun6i_isp_params_queue_ops;
queue->mem_ops = &vb2_vmalloc_memops; queue->mem_ops = &vb2_vmalloc_memops;
queue->min_buffers_needed = 1; queue->min_queued_buffers = 1;
queue->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; queue->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
queue->lock = &params->lock; queue->lock = &params->lock;
queue->dev = isp_dev->dev; queue->dev = isp_dev->dev;

View File

@ -1174,7 +1174,7 @@ static int tegra_channel_init(struct tegra_vi_channel *chan)
chan->queue.ops = &tegra_channel_queue_qops; chan->queue.ops = &tegra_channel_queue_qops;
chan->queue.mem_ops = &vb2_dma_contig_memops; chan->queue.mem_ops = &vb2_dma_contig_memops;
chan->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; chan->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
chan->queue.min_buffers_needed = 2; chan->queue.min_queued_buffers = 2;
chan->queue.dev = vi->dev; chan->queue.dev = vi->dev;
ret = vb2_queue_init(&chan->queue); ret = vb2_queue_init(&chan->queue);
if (ret < 0) { if (ret < 0) {

View File

@ -402,7 +402,7 @@ struct vb2_buffer {
* by calling vb2_buffer_done() with %VB2_BUF_STATE_QUEUED. * by calling vb2_buffer_done() with %VB2_BUF_STATE_QUEUED.
* If you need a minimum number of buffers before you can * If you need a minimum number of buffers before you can
* start streaming, then set * start streaming, then set
* &vb2_queue->min_buffers_needed. If that is non-zero * &vb2_queue->min_queued_buffers. If that is non-zero
* then @start_streaming won't be called until at least * then @start_streaming won't be called until at least
* that many buffers have been queued up by userspace. * that many buffers have been queued up by userspace.
* @stop_streaming: called when 'streaming' state must be disabled; driver * @stop_streaming: called when 'streaming' state must be disabled; driver
@ -546,10 +546,13 @@ struct vb2_buf_ops {
* @gfp_flags: additional gfp flags used when allocating the buffers. * @gfp_flags: additional gfp flags used when allocating the buffers.
* Typically this is 0, but it may be e.g. %GFP_DMA or %__GFP_DMA32 * Typically this is 0, but it may be e.g. %GFP_DMA or %__GFP_DMA32
* to force the buffer allocation to a specific memory zone. * to force the buffer allocation to a specific memory zone.
* @min_buffers_needed: the minimum number of buffers needed before * @min_queued_buffers: the minimum number of queued buffers needed before
* @start_streaming can be called. Used when a DMA engine * @start_streaming can be called. Used when a DMA engine
* cannot be started unless at least this number of buffers * cannot be started unless at least this number of buffers
* have been queued into the driver. * have been queued into the driver.
* VIDIOC_REQBUFS will ensure at least @min_queued_buffers
* buffers will be allocated. Note that VIDIOC_CREATE_BUFS will not
* modify the requested buffer count.
*/ */
/* /*
* Private elements (won't appear at the uAPI book): * Private elements (won't appear at the uAPI book):
@ -614,7 +617,7 @@ struct vb2_queue {
unsigned int buf_struct_size; unsigned int buf_struct_size;
u32 timestamp_flags; u32 timestamp_flags;
gfp_t gfp_flags; gfp_t gfp_flags;
u32 min_buffers_needed; u32 min_queued_buffers;
struct device *alloc_devs[VB2_MAX_PLANES]; struct device *alloc_devs[VB2_MAX_PLANES];

View File

@ -821,7 +821,7 @@ static int skeleton_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
* available before it can be started. The start_streaming() op * available before it can be started. The start_streaming() op
* won't be called until at least this many buffers are queued up. * won't be called until at least this many buffers are queued up.
*/ */
q->min_buffers_needed = 2; q->min_queued_buffers = 2;
/* /*
* The serialization lock for the streaming ioctls. This is the same * The serialization lock for the streaming ioctls. This is the same
* as the main serialization lock, but if some of the non-streaming * as the main serialization lock, but if some of the non-streaming