]> git.baikalelectronics.ru Git - kernel.git/commit
[media] v4l: videobuf2: add read() and write() emulator
authorMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 6 Dec 2010 08:56:55 +0000 (05:56 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 21 Mar 2011 23:31:34 +0000 (20:31 -0300)
commitac2b6bcb4e761a87c1a436c42c5a156881297f6b
treedc4b9029f15af23d2d2648274b0fddc8afe60e96
parentedbf451c4437e60e1f8382aa4b40541bc7649c5e
[media] v4l: videobuf2: add read() and write() emulator

Add a generic file io (read and write) emulator for videobuf2. It uses
MMAP memory type buffers and generic vb2 calls: req_bufs, qbuf and
dqbuf. Video date is being copied from mmap buffers to userspace with
standard copy_to_user() function. To add support for file io the driver
needs to provide an additional callback - read_setup or write_setup. It
should provide the default number of buffers used by emulator and flags.

With these flags one can detemine the style of read() or write()
emulation. By default 'streaming' style is used. With
VB2_FILEIO_READ_ONCE flag one can select 'one shot' mode for read()
emulator. With VB2_FILEIO_WRITE_IMMEDIATE flag one can select immediate
conversion of write calls to qbuf for write() emulator, so the vb2 will
not wait until each buffer is filled completely before queueing it to
the driver.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/videobuf2-core.c
include/media/videobuf2-core.h