Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7bcff1c2 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] vim2m: add create_bufs and prepare_buf support



Add support for the missing VIDIOC_CREATE_BUFS and VIDIOC_PREPARE_BUF
ioctls.

Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent e68cf471
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -693,6 +693,8 @@ static const struct v4l2_ioctl_ops vim2m_ioctl_ops = {
	.vidioc_querybuf	= v4l2_m2m_ioctl_querybuf,
	.vidioc_querybuf	= v4l2_m2m_ioctl_querybuf,
	.vidioc_qbuf		= v4l2_m2m_ioctl_qbuf,
	.vidioc_qbuf		= v4l2_m2m_ioctl_qbuf,
	.vidioc_dqbuf		= v4l2_m2m_ioctl_dqbuf,
	.vidioc_dqbuf		= v4l2_m2m_ioctl_dqbuf,
	.vidioc_prepare_buf	= v4l2_m2m_ioctl_prepare_buf,
	.vidioc_create_bufs	= v4l2_m2m_ioctl_create_bufs,
	.vidioc_expbuf		= v4l2_m2m_ioctl_expbuf,
	.vidioc_expbuf		= v4l2_m2m_ioctl_expbuf,


	.vidioc_streamon	= v4l2_m2m_ioctl_streamon,
	.vidioc_streamon	= v4l2_m2m_ioctl_streamon,
@@ -720,6 +722,12 @@ static int vim2m_queue_setup(struct vb2_queue *vq,


	size = q_data->width * q_data->height * q_data->fmt->depth >> 3;
	size = q_data->width * q_data->height * q_data->fmt->depth >> 3;


	if (fmt) {
		if (fmt->fmt.pix.sizeimage < size)
			return -EINVAL;
		size = fmt->fmt.pix.sizeimage;
	}

	while (size * count > MEM2MEM_VID_MEM_LIMIT)
	while (size * count > MEM2MEM_VID_MEM_LIMIT)
		(count)--;
		(count)--;