Commit cea70ed4 authored by Benjamin Gaignard's avatar Benjamin Gaignard Committed by Mauro Carvalho Chehab
Browse files

media: test-drivers: vivid: Increase max supported buffers for capture queues



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: default avatarBenjamin Gaignard <benjamin.gaignard@collabora.com>
Reviewed-by: default avatarAndrzej Pietrasiewicz <andrzej.p@collabora.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent d055a76c
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -876,6 +876,20 @@ 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;

	/*
	 * The maximum number of buffers is 32768 if PAGE_SHIFT == 12,
	 * see also MAX_BUFFER_INDEX in videobuf2-core.c. It will be less if
	 * PAGE_SHIFT > 12, but then max_num_buffers will be clamped by
	 * videobuf2-core.c to MAX_BUFFER_INDEX.
	 */
	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;

	if (allocators[dev->inst] != 1)
		q->io_modes |= VB2_USERPTR;
	q->drv_priv = dev;