Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

authored by

Hans Verkuil and committed by
Mauro Carvalho Chehab
7bcff1c2 e68cf471

+8
+8
drivers/media/platform/vim2m.c
··· 693 693 .vidioc_querybuf = v4l2_m2m_ioctl_querybuf, 694 694 .vidioc_qbuf = v4l2_m2m_ioctl_qbuf, 695 695 .vidioc_dqbuf = v4l2_m2m_ioctl_dqbuf, 696 + .vidioc_prepare_buf = v4l2_m2m_ioctl_prepare_buf, 697 + .vidioc_create_bufs = v4l2_m2m_ioctl_create_bufs, 696 698 .vidioc_expbuf = v4l2_m2m_ioctl_expbuf, 697 699 698 700 .vidioc_streamon = v4l2_m2m_ioctl_streamon, ··· 721 719 q_data = get_q_data(ctx, vq->type); 722 720 723 721 size = q_data->width * q_data->height * q_data->fmt->depth >> 3; 722 + 723 + if (fmt) { 724 + if (fmt->fmt.pix.sizeimage < size) 725 + return -EINVAL; 726 + size = fmt->fmt.pix.sizeimage; 727 + } 724 728 725 729 while (size * count > MEM2MEM_VID_MEM_LIMIT) 726 730 (count)--;