Messages in this thread | | | Date | Mon, 16 Oct 2023 16:20:51 +0200 | Subject | Re: [PATCH v11 45/56] media: test-drivers: vivid: Increase max supported buffers for capture queues | From | Benjamin Gaignard <> |
| |
Le 16/10/2023 à 12:32, Hans Verkuil a écrit : > On 12/10/2023 13:46, Benjamin Gaignard wrote: >> Change the maximum number of buffers of some capture queues in order >> to test max_num_buffers field. >> >> Allow to allocate up to: >> - 64 buffers for video capture queue. >> - 1024 buffers for sdr capture queue. >> - 32768 buffers for vbi capture queue. >> >> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> >> --- >> drivers/media/test-drivers/vivid/vivid-core.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/drivers/media/test-drivers/vivid/vivid-core.c b/drivers/media/test-drivers/vivid/vivid-core.c >> index 394c9f81ea72..b5656330578d 100644 >> --- a/drivers/media/test-drivers/vivid/vivid-core.c >> +++ b/drivers/media/test-drivers/vivid/vivid-core.c >> @@ -876,6 +876,13 @@ static int vivid_create_queue(struct vivid_dev *dev, >> q->type = buf_type; >> q->io_modes = VB2_MMAP | VB2_DMABUF; >> q->io_modes |= V4L2_TYPE_IS_OUTPUT(buf_type) ? VB2_WRITE : VB2_READ; >> + if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE) >> + q->max_num_buffers = 64; >> + if (buf_type == V4L2_BUF_TYPE_SDR_CAPTURE) >> + q->max_num_buffers = 1024; >> + if (buf_type == V4L2_BUF_TYPE_VBI_CAPTURE) >> + q->max_num_buffers = 32768; > This should use the same calculation as MAX_BUFFER_INDEX. > > I wonder if those defines should move to videobuf2-core.h instead.
I'm not sure about what you want here, q->max_num_buffers is clamped in vb2_core_queue_init():
/* The maximum is limited by offset cookie encoding pattern */ q->max_num_buffers = min_t(unsigned int, q->max_num_buffers, MAX_BUFFER_INDEX);
Do you want to reuse MAX_BUFFER_INDEX for these drivers ?
Regards, Benjamin
> > Regards, > > Hans > >> + >> if (allocators[dev->inst] != 1) >> q->io_modes |= VB2_USERPTR; >> q->drv_priv = dev; >
| |