linux/include/media
Brandon Philips 137d1cb19d V4L/DVB (7493): videobuf: Avoid deadlock with QBUF and bring up to spec for empty queue
Add a waitqueue to wait on when there are no buffers in the buffer queue.
DQBUF waits on this queue without holding vb_lock to allow a QBUF to happen.
Once a buffer has been queued we recheck that the queue is still streaming and
wait on the new buffer's waitqueue while holding the vb_lock.  The driver
should come along in a timely manner and put the buffer into its next state
finishing the DQBUF.

By implementing this waitqueue it also brings the videobuf DQBUF up to spec and
it now blocks on O_NONBLOCK even when no buffers have been queued via QBUF:

"By default VIDIOC_DQBUF blocks when no buffer is in the outgoing queue."
 - V4L2 spec

Signed-off-by: Brandon Philips <bphilips@suse.de>
CC: Trent Piepho <xyzzy@speakeasy.org>
CC: Carl Karsten <carl@personnelware.com>
CC: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:07:57 -03:00
..
audiochip.h
cs53l32a.h
cs5345.h V4L/DVB (6869): cs5345: new i2c driver 2008-01-25 19:04:08 -02:00
cx2341x.h V4L/DVB (6861): cx2341x: command argument should be u32 instead of int 2008-01-25 19:04:04 -02:00
cx25840.h V4L/DVB (7002): cx25840: Add basic CX23885 AVCore support 2008-01-25 19:04:47 -02:00
i2c-addr.h
ir-common.h V4L/DVB (7372): cx88: Add IR support for Pixelview MPEG 8000GT 2008-04-24 14:07:51 -03:00
ir-kbd-i2c.h
m52790.h V4L/DVB (6486): m52790: add new Mitsubishi A/V switch i2c driver 2008-01-25 19:01:46 -02:00
msp3400.h
ovcamchip.h i2c: Cleanup the includes of <linux/i2c.h> 2007-05-01 23:26:29 +02:00
pwc-ioctl.h
rds.h include/media/: Spelling fixes 2008-02-03 17:19:47 +02:00
saa6752hs.h
saa7115.h
saa7127.h
saa7146_vv.h V4L/DVB (6496): saa7146_vv.h: remove wrong include <linux/videodev.h> 2008-01-25 19:01:52 -02:00
saa7146.h [PATCH] Fix breakage after SG cleanups 2007-10-23 12:02:39 -07:00
soc_camera.h V4L/DVB (7406): soc-camera: improve separation between soc_camera_ops and soc_camera_device 2008-04-24 14:07:53 -03:00
tuner-types.h V4L/DVB (7352): tuner-simple: enable digital tuning support for Philips FMD1216ME 2008-04-24 14:07:50 -03:00
tuner.h V4L/DVB (7381): tuner: rename TUNER_PHILIPS_ATSC to TUNER_PHILIPS_FCV1236D 2008-04-24 14:07:52 -03:00
tvaudio.h
tveeprom.h
tvp5150.h
upd64031a.h
upd64083.h
v4l2-chip-ident.h V4L/DVB (7169): Add chip IDs for Micron mt9m001 and mt9v022 CMOS cameras 2008-04-24 14:07:42 -03:00
v4l2-common.h V4L/DVB (7133): Fix Kconfig dependencies 2008-02-18 11:14:53 -03:00
v4l2-dev.h V4L/DVB (7133): Fix Kconfig dependencies 2008-02-18 11:14:53 -03:00
v4l2-i2c-drv-legacy.h i2c: Constify client address data 2008-01-27 18:14:46 +01:00
v4l2-i2c-drv.h V4L/DVB (6921): include/media/v4l2-i2c-drv.h must #include <media/v4l2-common.h> 2008-01-25 19:04:24 -02:00
v4l2-int-device.h V4L/DVB (6580): Set slave's master before master's attach call. 2008-01-25 19:02:06 -02:00
videobuf-core.h V4L/DVB (7493): videobuf: Avoid deadlock with QBUF and bring up to spec for empty queue 2008-04-24 14:07:57 -03:00
videobuf-dma-sg.h V4L/DVB (7237): Convert videobuf-dma-sg to generic DMA API 2008-04-24 14:07:44 -03:00
videobuf-dvb.h V4L/DVB (6257): Rename video-buf-dvb to videobuf-dvb to be consistent with the other patches 2007-10-10 00:02:46 -03:00
videobuf-vmalloc.h V4L/DVB (7150): [v4l] convert videbuf_vmalloc_memory to videobuf_vmalloc_memory 2008-02-18 11:15:13 -03:00
wm8775.h