Hi Hans,
On Tuesday 27 September 2011 12:34:20 Hans Verkuil wrote:
> On Thursday, September 08, 2011 09:45:15 Guennadi Liakhovetski wrote:
> > A possibility to preallocate and initialise buffers of different sizes
> > in V4L2 is required for an efficient implementation of a snapshot
> > mode. This patch adds two new ioctl()s: VIDIOC_CREATE_BUFS and
> > VIDIOC_PREPARE_BUF and defines respective data structures.
> >
> > Signed-off-by: Guennadi Liakhovetski <[email protected]>
> > ---
[snip]
> > @@ -2096,6 +2098,33 @@ static long __video_do_ioctl(struct file *file,
> >
> > dbgarg(cmd, "type=0x%8.8x", sub->type);
> > break;
> >
> > }
> >
> > + case VIDIOC_CREATE_BUFS:
> > + {
> > + struct v4l2_create_buffers *create = arg;
> > +
> > + if (!ops->vidioc_create_bufs)
> > + break;
>
> Just as with REQBUFS you need to add code here to handle priority checking:
>
> if (ret_prio) {
> ret = ret_prio;
> break;
> }
Speaking of prio support, how is locking handled here ? Does video_ioctl2()
require drivers to synchronize all ioctl calls or can it work with fine-grain
locking ?
> > + ret = check_fmt(ops, create->format.type);
> > + if (ret)
> > + break;
> > +
> > + ret = ops->vidioc_create_bufs(file, fh, create);
> > +
> > + dbgarg(cmd, "count=%d @ %d\n", create->count, create->index);
> > + break;
> > + }
--
Regards,
Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html