linux/include/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
..
blackfin [media] blackfin: add error frame support 2013-02-06 09:16:58 -02:00
davinci [media] media: davinci: vpif: display: add V4L2-async support 2013-07-26 13:17:15 -03:00
ad9389b.h [media] ad9389b: driver for the Analog Devices AD9389B video encoder 2012-09-13 16:15:36 -03:00
adp1653.h [media] v4l, smiapp, smiapp-pll, adp1653: Update contact information 2012-11-21 13:34:50 -02:00
adv7183.h [media] adv7183: add adv7183 decoder driver 2012-03-19 15:04:10 -03:00
adv7343.h [media] media: i2c: adv7343: make the platform data members as array 2013-07-26 13:20:36 -03:00
adv7393.h [PATCH] media: add Analog Devices ADV7393 video encoder driver 2012-07-06 15:46:17 -03:00
adv7511.h [media] adv7511: add new video encoder 2013-08-26 07:53:43 -03:00
adv7604.h [media] adv7604: sync polarities from platform data 2014-01-07 06:16:54 -02:00
adv7842.h [media] adv7842: add drive strength enum and sync names with adv7604 2014-01-07 06:47:46 -02:00
ak881x.h
as3645a.h [media] as3645a: Add driver for LED flash controller 2011-12-20 09:36:18 -02:00
atmel-isi.h [media] v4l: atmel-isi: Should clear bits before set the hardware register 2013-12-18 06:55:48 -02:00
bt819.h
cs53l32a.h
cs5345.h
cx2341x.h
cx25840.h [media] cx25840: Add a flag to enable the CX23888 DIF to be enabled or not 2012-01-05 06:49:38 -02:00
gpio-ir-recv.h [media] media: gpio-ir-recv: add allowed_protos for platform data 2012-07-06 18:21:53 -03:00
i2c-addr.h
ir-kbd-i2c.h [media] rc-core: add separate defines for protocol bitmaps and numbers 2012-10-27 11:49:51 -02:00
ir-rx51.h [media] media: rc: Introduce RX51 IR transmitter driver 2012-08-13 16:53:45 -03:00
lirc_dev.h [media] media: lirc: Allow lirc dev to talk to rc device 2013-07-31 16:30:27 -03:00
lirc.h
lm3560.h [media] media: i2c: add driver for dual LED Flash, lm3560 2013-10-31 06:36:39 -02:00
m5mols.h [media] m5mols: Remove superfluous irq field from the platform data struct 2011-09-24 00:23:03 -03:00
m52790.h
media-device.h [media] media: Change media device link_notify behaviour 2013-06-12 22:16:27 -03:00
media-devnode.h [media] media: Add 64--32 bit compat ioctl handler 2013-03-18 20:44:36 -03:00
media-entity.h [media] media: Include linux/kernel.h for DIV_ROUND_UP() 2013-12-18 10:36:02 -02:00
mmp-camera.h
msp3400.h
mt9m032.h [media] v4l: Add driver for Micron MT9M032 camera sensor 2012-03-19 18:56:33 -03:00
mt9p031.h [media] mt9p031: Use the common clock framework 2013-04-14 16:03:22 -03:00
mt9t001.h [media] mt9t001: Implement V4L2_CID_PIXEL_RATE control 2012-05-24 09:25:15 -03:00
mt9t112.h
mt9v011.h
mt9v022.h [media] mt9v022: set y_skip_top field to zero as default 2012-11-22 11:36:50 -02:00
mt9v032.h [media] mt9v032: Use the common clock framework 2013-08-22 11:37:46 -03:00
noon010pc30.h
omap1_camera.h
omap3isp.h [media] omap3isp: Use the common clock framework 2013-04-14 20:21:12 -03:00
omap4iss.h [media] v4l: omap4iss: Add support for OMAP4 camera interface - Core 2013-12-03 17:21:04 -02:00
ov772x.h [media] V4L: ov772x: remove superfluous soc-camera client operations 2011-11-03 18:28:05 -02:00
ov7670.h [media] media: ov7670: Add possibility to disable pixclk during hblank 2013-02-08 14:35:06 -02:00
ov9650.h [media] V4L: Add driver for OV9650/52 image sensors 2013-02-05 15:21:15 -02:00
radio-si4713.h
rc-core.h [media] media: rc: Add rc_open/close and use count to rc_dev 2013-07-31 16:28:01 -03:00
rc-map.h [media] dw2102: Use RC Core instead of the legacy RC (second edition) 2013-12-10 15:22:30 -02:00
rj54n1cb0c.h
s3c_camif.h [media] V4L: Add driver for S3C24XX/S3C64XX SoC series camera interface 2012-11-28 09:43:34 -02:00
s5c73m3.h [media] V4L: Add S5C73M3 camera driver 2013-02-05 17:39:04 -02:00
s5k4ecgx.h [media] Add v4l2 subdev driver for S5K4ECGX sensor 2012-09-26 17:32:54 -03:00
s5k6aa.h [media] v4l: Add v4l2 subdev driver for S5K6AAFX sensor 2011-11-03 18:29:11 -02:00
s5p_fimc.h [media] exynos4-is: Correct colorspace handling at FIMC-LITE 2013-06-28 15:33:27 -03:00
s5p_hdmi.h [media] media: s5p-hdmi: add HPD GPIO to platform data 2012-10-05 23:11:51 -03:00
saa6588.h
saa6752hs.h
saa7115.h [media] saa7115: make multi-line comments compliant with CodingStyle 2013-08-18 08:39:24 -03:00
saa7127.h
saa7146_vv.h [media] saa7146: fix querycap, vbi/video separation and g/s_register 2012-05-14 15:00:49 -03:00
saa7146.h [media] saa7146: remove V4L2_FL_LOCK_ALL_FOPS 2012-08-09 19:43:28 -03:00
sh_mobile_ceu.h [media] V4L2: soc-camera: fix uninitialised use compiler warning 2013-06-28 14:57:18 -03:00
sh_mobile_csi2.h [media] sh_mobile_ceu_camera: add asynchronous subdevice probing support 2013-06-21 16:35:53 -03:00
sh_vou.h
si476x.h [media] v4l2: Add a V4L2 driver for SI476X MFD 2013-04-18 21:20:34 -03:00
si4713.h [media] si4713: move supply list to si4713_platform_data 2013-12-18 06:40:07 -02:00
sii9234.h [media] v4l: s5p-tv: add sii9234 driver 2012-02-28 18:25:46 -03:00
smiapp.h [media] smiapp: Call the clock "ext_clk" 2013-08-22 11:39:12 -03:00
soc_camera_platform.h [media] soc-camera: split struct soc_camera_link into host and subdevice parts 2013-01-05 01:38:02 -02:00
soc_camera.h [media] V4L2: soc-camera: work around unbalanced calls to .s_power() 2013-10-31 04:38:40 -02:00
soc_mediabus.h [media] soc_camera: Add RGB666 & RGB888 formats 2013-04-04 19:40:08 -03:00
sr030pc30.h
tea575x.h [media] tea575x: Move header from sound to media 2013-08-18 08:08:05 -03:00
ths7303.h [media] media: i2c: ths7303: remove init_enable option from pdata 2013-06-13 11:41:18 -03:00
timb_radio.h
timb_video.h
tuner-types.h
tuner.h [media] tuner-core: Change config from unsigned int to void * 2013-04-08 07:01:36 -03:00
tvaudio.h
tveeprom.h include: Convert ethernet mac address declarations to use ETH_ALEN 2013-08-02 12:33:54 -07:00
tvp514x.h [media] media: tvp514x: remove field description 2013-02-06 08:18:49 -02:00
tvp5150.h
tvp7002.h [media] media: i2c: tvp7002: rearrange description of structure members 2013-05-27 09:29:56 -03:00
tw9910.h
uda1342.h [media] uda1342: add new uda1342 audio codec driver 2013-03-24 12:24:11 -03:00
upd64031a.h
upd64083.h
v4l2-async.h [media] V4L: Merge struct v4l2_async_subdev_list with struct v4l2_subdev 2013-07-30 15:54:56 -03:00
v4l2-clk.h [media] V4L2: add a v4l2-clk helper macro to produce an I2C device ID 2013-10-31 04:33:02 -02:00
v4l2-common.h Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
v4l2-ctrls.h [media] v4l2-ctrls: fix typo in header file media/v4l2-ctrls.h 2013-10-17 05:52:25 -03:00
v4l2-dev.h [media] v4l2: always require v4l2_dev, rename parent to dev_parent 2013-06-21 11:07:12 -03:00
v4l2-device.h [media] v4l2-core: add code to check for specific ops 2013-03-24 11:59:02 -03:00
v4l2-dv-timings.h [media] v4l2-dv-timings: add callback to handle exceptions 2013-08-24 04:30:01 -03:00
v4l2-event.h [media] V4L: Add v4l2_event_subdev_unsubscribe() helper function 2013-02-05 15:04:55 -02:00
v4l2-fh.h [media] V4L: Add mem2mem ioctl and file operation helpers 2013-12-04 15:34:24 -02:00
v4l2-image-sizes.h [media] V4L: Add header file defining standard image sizes 2013-02-05 14:59:41 -02:00
v4l2-ioctl.h [media] v4l2-core: remove support for obsolete VIDIOC_DBG_G_CHIP_IDENT 2013-06-21 10:46:44 -03:00
v4l2-mediabus.h [media] media: OF: add "sync-on-green-active" property 2013-08-24 04:15:05 -03:00
v4l2-mem2mem.h [media] V4L: Add mem2mem ioctl and file operation helpers 2013-12-04 15:34:24 -02:00
v4l2-of.h [media] v4l: of: Remove struct v4l2_of_endpoint remote field 2013-12-18 06:26:05 -02:00
v4l2-subdev.h [media] v4l: Fix typo in v4l2_subdev_get_try_crop() 2013-10-31 08:10:10 -02:00
videobuf2-core.h [media] vb2: retry start_streaming in case of insufficient buffers 2014-01-07 07:12:43 -02:00
videobuf2-dma-contig.h [media] videobuf2: correct the #ifndef text mistake in videobuf2-dma-contig.h 2012-06-18 19:54:42 -03:00
videobuf2-dma-sg.h [media] videobuf2-dma-sg: Replace vb2_dma_sg_desc with sg_table 2013-09-26 07:33:59 -03:00
videobuf2-memops.h [media] v4l: vb2-dma-contig: let mmap method to use dma_mmap_coherent call 2012-11-25 17:20:25 -02:00
videobuf2-vmalloc.h
videobuf-core.h [media] videobuf-core.h: remove input fields 2012-07-05 18:03:20 -03:00
videobuf-dma-contig.h [media] videobuf-dma-contig: remove support for cached mem 2013-04-25 09:50:19 -03:00
videobuf-dma-sg.h doc: fix broken references 2011-09-27 18:08:04 +02:00
videobuf-dvb.h [media] dvb: get rid of fe_ioctl_override callback 2012-08-13 16:34:03 -03:00
videobuf-vmalloc.h
wm8775.h