2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 15:43:59 +08:00
linux-next/drivers/media
Hans Verkuil 02f142ecd2 [media] vb2: retry start_streaming in case of insufficient buffers
If start_streaming returns -ENOBUFS, then it will be retried the next time
a buffer is queued. This means applications no longer need to know how many
buffers need to be queued before STREAMON can be called. This is particularly
useful for output stream I/O.

If a DMA engine needs at least X buffers before it can start streaming, then
for applications to get a buffer out as soon as possible they need to know
the minimum number of buffers to queue before STREAMON can be called. You can't
just try STREAMON after every buffer since on failure STREAMON will dequeue
all your buffers. (Is that a bug or a feature? Frankly, I'm not sure).

This patch simplifies applications substantially: they can just call STREAMON
at the beginning and then start queuing buffers and the DMA engine will
kick in automagically once enough buffers are available.

This also fixes using write() to stream video: the fileio implementation
calls streamon without having any queued buffers, which will fail today for
any driver that requires a minimum number of buffers.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-01-07 07:12:43 -02:00
..
common [media] media_tree: Fix spelling errors 2013-12-09 14:50:50 -02:00
dvb-core [media] Add USB IDs for Winfast DTV Dongle Mini-D 2013-12-19 09:26:15 -02:00
dvb-frontends [media] dib8000: fix compilation error 2013-12-20 08:12:39 -02:00
firewire firewire: introduce fw_driver.probe and .remove methods 2013-06-09 18:15:00 +02:00
i2c [media] adv7842: add drive strength enum and sync names with adv7604 2014-01-07 06:47:46 -02:00
mmc [media] siano: get rid of CammelCase from smscoreapi.h 2013-03-21 10:03:16 -03:00
parport [media] bw-qcam: fix timestamp handling 2013-05-27 09:30:19 -03:00
pci Merge branch 'upstream-fixes' into patchwork 2013-12-13 05:04:00 -02:00
platform [media] v4l: ti-vpe: Add a type specifier to describe vpdma data format type 2014-01-07 06:58:02 -02:00
radio [media] radio-raremono: add support for 'Thanko's Raremono' AM/FM/SW USB device 2013-12-18 11:30:32 -02:00
rc [media] mceusb: Add Hauppauge WinTV-HVR-930C HD 2013-12-10 15:33:52 -02:00
tuners [media] tuner-xc2028: remove unused code 2014-01-05 08:30:14 -02:00
usb [media] cx231xx: fix i2c debug prints 2014-01-07 06:50:26 -02:00
v4l2-core [media] vb2: retry start_streaming in case of insufficient buffers 2014-01-07 07:12:43 -02:00
Kconfig [media] subdev autoselect only works if I2C and I2C_MUX is selected 2013-12-21 06:03:06 -02:00
Makefile [media] move i2c files into drivers/media/i2c 2012-09-06 18:42:54 -03:00
media-device.c [media] media: info leak in __media_device_enum_links() 2013-06-12 18:52:45 -03:00
media-devnode.c [media] media: Add 64--32 bit compat ioctl handler 2013-03-18 20:44:36 -03:00
media-entity.c [media] media: Check for active links on pads with MEDIA_PAD_FL_MUST_CONNECT flag 2013-12-04 15:03:45 -02:00