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

media: usb: cx231xx: Stop direct calls to queue num_buffers field



Use vb2_get_num_buffers() to avoid using queue num_buffers field directly.
This allows us to change how the number of buffers is computed in the
future.

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 912472fd
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1218,12 +1218,13 @@ static int queue_setup(struct vb2_queue *vq,
{
	struct cx231xx *dev = vb2_get_drv_priv(vq);
	unsigned int size = mpeglinesize * mpeglines;
	unsigned int q_num_bufs = vb2_get_num_buffers(vq);

	dev->ts1.ts_packet_size  = mpeglinesize;
	dev->ts1.ts_packet_count = mpeglines;

	if (vq->num_buffers + *nbuffers < CX231XX_MIN_BUF)
		*nbuffers = CX231XX_MIN_BUF - vq->num_buffers;
	if (q_num_bufs + *nbuffers < CX231XX_MIN_BUF)
		*nbuffers = CX231XX_MIN_BUF - q_num_bufs;

	if (*nplanes)
		return sizes[0] < size ? -EINVAL : 0;
+3 −2
Original line number Diff line number Diff line
@@ -714,11 +714,12 @@ static int queue_setup(struct vb2_queue *vq,
		       unsigned int sizes[], struct device *alloc_devs[])
{
	struct cx231xx *dev = vb2_get_drv_priv(vq);
	unsigned int q_num_bufs = vb2_get_num_buffers(vq);

	dev->size = (dev->width * dev->height * dev->format->depth + 7) >> 3;

	if (vq->num_buffers + *nbuffers < CX231XX_MIN_BUF)
		*nbuffers = CX231XX_MIN_BUF - vq->num_buffers;
	if (q_num_bufs + *nbuffers < CX231XX_MIN_BUF)
		*nbuffers = CX231XX_MIN_BUF - q_num_bufs;

	if (*nplanes)
		return sizes[0] < dev->size ? -EINVAL : 0;