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

media: ti: 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>
CC: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
Reviewed-by: default avatarPrabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 36e3faf9
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1771,9 +1771,10 @@ static int vpfe_queue_setup(struct vb2_queue *vq,
{
	struct vpfe_device *vpfe = vb2_get_drv_priv(vq);
	unsigned size = vpfe->fmt.fmt.pix.sizeimage;
	unsigned int q_num_bufs = vb2_get_num_buffers(vq);

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

	if (*nplanes) {
		if (sizes[0] < size)
+3 −2
Original line number Diff line number Diff line
@@ -603,9 +603,10 @@ static int cal_queue_setup(struct vb2_queue *vq,
{
	struct cal_ctx *ctx = vb2_get_drv_priv(vq);
	unsigned int size = ctx->v_fmt.fmt.pix.sizeimage;
	unsigned int q_num_bufs = vb2_get_num_buffers(vq);

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

	if (*nplanes) {
		if (sizes[0] < size)
+3 −2
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ static int vpif_buffer_queue_setup(struct vb2_queue *vq,
	struct channel_obj *ch = vb2_get_drv_priv(vq);
	struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
	unsigned size = common->fmt.fmt.pix.sizeimage;
	unsigned int q_num_bufs = vb2_get_num_buffers(vq);

	vpif_dbg(2, debug, "vpif_buffer_setup\n");

@@ -122,8 +123,8 @@ static int vpif_buffer_queue_setup(struct vb2_queue *vq,
		size = sizes[0];
	}

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

	*nplanes = 1;
	sizes[0] = size;
+3 −2
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ static int vpif_buffer_queue_setup(struct vb2_queue *vq,
	struct channel_obj *ch = vb2_get_drv_priv(vq);
	struct common_obj *common = &ch->common[VPIF_VIDEO_INDEX];
	unsigned size = common->fmt.fmt.pix.sizeimage;
	unsigned int q_num_bufs = vb2_get_num_buffers(vq);

	if (*nplanes) {
		if (sizes[0] < size)
@@ -122,8 +123,8 @@ static int vpif_buffer_queue_setup(struct vb2_queue *vq,
		size = sizes[0];
	}

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

	*nplanes = 1;
	sizes[0] = size;
+3 −2
Original line number Diff line number Diff line
@@ -944,10 +944,11 @@ static int omap_vout_vb2_queue_setup(struct vb2_queue *vq,
				     struct device *alloc_devs[])
{
	struct omap_vout_device *vout = vb2_get_drv_priv(vq);
	unsigned int q_num_bufs = vb2_get_num_buffers(vq);
	int size = vout->pix.sizeimage;

	if (is_rotation_enabled(vout) && vq->num_buffers + *nbufs > VRFB_NUM_BUFS) {
		*nbufs = VRFB_NUM_BUFS - vq->num_buffers;
	if (is_rotation_enabled(vout) && q_num_bufs + *nbufs > VRFB_NUM_BUFS) {
		*nbufs = VRFB_NUM_BUFS - q_num_bufs;
		if (*nbufs == 0)
			return -EINVAL;
	}