linux/drivers/media/video
Hans Verkuil 8ab75e3ecd [media] v4l2-dev: make it possible to skip locking for selected ioctls
Using the V4L2 core lock is a very robust method that is usually very good
at doing the right thing. But some drivers, particularly USB drivers, may
want to prevent the core from taking the lock for specific ioctls, particularly
buffer queuing ioctls.

The reason is that certain commands like S_CTRL can take a long time to process
over USB and all the time the core has the lock, preventing VIDIOC_DQBUF from
proceeding, even though a frame may be ready in the queue.

This introduces unwanted latency.

Since the buffer queuing commands often have their own internal lock it is
often not necessary to take the core lock. Drivers can now say that they don't
want the core to take the lock for specific ioctls.

As it is a specific opt-out it makes it clear to the reviewer that those
ioctls will need more care when reviewing.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-14 09:13:43 -03:00
..
au0828 [media] drivers/media/video/au0828/au0828-video.c: add missing video_device_release 2012-05-02 09:09:10 -03:00
blackfin [media] add blackfin capture bridge driver 2012-03-19 15:08:20 -03:00
bt8xx [media] Default bt878 contrast value 2012-04-11 07:55:35 -03:00
cpia2 [media] cpia2: major overhaul to get it in a working state again 2012-05-07 16:21:05 -03:00
cx18 [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY 2012-04-19 17:23:55 -03:00
cx88 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-01-18 12:53:54 -08:00
cx231xx [media] media, cx231xx: Fix double free on close 2012-03-19 14:13:51 -03:00
cx23885 [media] cx23885: Don't duplicate xc4000 entry for radio 2012-01-16 11:55:12 -02:00
cx25821 [media] cx25821: Add a card definition for "No brand" cards that have: subvendor = 0x0000 subdevice = 0x0000 2012-03-08 12:42:28 -03:00
cx25840 [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
davinci [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY 2012-04-19 17:23:55 -03:00
em28xx [media] em28xx: Make em28xx-input.c a separate module 2012-04-10 20:45:41 -03:00
gspca [media] gspca_pac7302: Improve the gain control 2012-05-07 16:15:48 -03:00
hdpvr Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-02-24 12:32:51 -08:00
ivtv [media] v4l2-ctrls: Use v4l2_subscribed_event_ops 2012-05-07 16:29:35 -03:00
m5mols [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
marvell-ccic [media] marvell-cam: Demote the "release" print to debug level 2012-03-19 22:17:06 -03:00
omap [media] omap_vout: fix section mismatch 2012-01-23 15:27:17 -02:00
omap3isp [media] omap3isp: Move CCDC link validation to ccdc_link_validate() 2012-05-14 08:53:28 -03:00
pvrusb2 [media] pvrusb2: For querystd, start with list of hardware-supported standards 2012-05-07 16:58:00 -03:00
pwc pwc: Add support for control events 2012-04-09 08:28:33 -03:00
s5p-fimc [media] s5p-fimc: Handle sub-device interdependencies using deferred probing 2012-04-10 15:25:25 -03:00
s5p-g2d [media] s5p-g2d: Added locking for writing control values to registers 2012-03-08 07:43:37 -03:00
s5p-jpeg [media] s5p-jpeg: Adapt to new controls 2012-03-08 07:43:51 -03:00
s5p-mfc [media] s5p-mfc: Added support for clk_prepare 2012-03-08 07:42:52 -03:00
s5p-tv [media] s5p-tv: mark const init data with __initconst instead of __initdata 2012-04-10 21:38:16 -03:00
saa7134 [media] Add support for KWorld PC150-U ATSC hybrid tuner card 2012-03-08 11:01:25 -03:00
saa7164 [media] saa7164: saa7164_vbi_stop_port() returns linux error codes 2012-04-26 15:28:31 -03:00
smiapp [media] smiapp: Add driver 2012-05-14 09:06:00 -03:00
sn9c102 module_param: check type correctness for module_param_array 2012-01-13 09:32:16 +10:30
tlg2300 [media] tlg2300: Remove usage of KERNEL_VERSION() 2012-04-19 16:47:07 -03:00
tm6000 [media] tm6000: don't use KERNEL_VERSION 2012-04-19 16:49:30 -03:00
usbvision Merge tag 'v3.2-rc2' into staging/for_v3.3 2011-11-23 19:42:09 -02:00
uvc [media] uvcvideo: Use videobuf2 .get_unmapped_area() implementation 2012-05-08 13:46:19 -03:00
zoran [media] zoran: fix integer overflow in setup_window() 2012-04-19 09:11:25 -03:00
adp1653.c [media] v4l: Allow changing control handler lock 2012-05-14 08:46:27 -03:00
adv7170.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
adv7175.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
adv7180.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
adv7183_regs.h [media] adv7183: add adv7183 decoder driver 2012-03-19 15:04:10 -03:00
adv7183.c [media] adv7183: add adv7183 decoder driver 2012-03-19 15:04:10 -03:00
adv7343_regs.h
adv7343.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ak881x.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
aptina-pll.c [media] v4l: aptina-pll: Round up minimum multiplier factor value properly 2012-05-08 14:26:41 -03:00
aptina-pll.h [media] v4l: Aptina-style sensor PLL support 2012-03-19 18:53:39 -03:00
arv.c
as3645a.c [media] as3645a: move relevant code under __devinit/__devexit 2012-05-08 14:28:41 -03:00
atmel-isi.c [media] V4L: atmel-isi: add clk_prepare()/clk_unprepare() functions 2012-01-23 18:13:21 -02:00
bt819.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
bt856.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
bt866.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
btcx-risc.c
btcx-risc.h
bw-qcam.c [media] drivers/media/video: add missing kfree 2011-07-27 17:55:55 -03:00
c-qcam.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
cs53l32a.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
cs5345.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
cs8420.h
cx2341x.c
fsl-viu.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
hexium_gemini.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
hexium_orion.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
ibmmpeg2.h
imx074.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
indycam.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
indycam.h
ir-kbd-i2c.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
Kconfig [media] smiapp: Add driver 2012-05-14 09:06:00 -03:00
ks0127.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ks0127.h
m52790.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
Makefile [media] smiapp: Add driver 2012-05-14 09:06:00 -03:00
mem2mem_testdev.c [media] V4L: vb2: prepare to support multi-size buffers 2011-11-03 18:28:28 -02:00
meye.c [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY 2012-04-19 17:23:55 -03:00
meye.h
msp3400-driver.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
msp3400-driver.h module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
msp3400-kthreads.c [media] msp3400: Add standards detection to the driver 2011-10-08 08:01:34 -03:00
mt9m001.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9m032.c [media] v4l: Add driver for Micron MT9M032 camera sensor 2012-03-19 18:56:33 -03:00
mt9m111.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9p031.c [media] mt9p031: Use generic PLL setup code 2012-03-19 18:54:22 -03:00
mt9t001.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9t031.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9t112.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9v011.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9v022.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mt9v032.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
mx1_camera.c [media] soc-camera: remove redundant parameter from .set_bus_param() 2012-01-06 11:00:23 -02:00
mx2_camera.c [media] media: i.MX27 camera: Add resizing support 2012-03-08 10:06:44 -03:00
mx2_emmaprp.c [media] i.MX2: eMMa-PrP: Allow userptr IO mode 2012-04-10 15:40:08 -03:00
mx3_camera.c dmaengine/dma_slave: introduce inline wrappers 2012-03-21 19:20:22 +05:30
mxb.c [media] V4L2: drivers implementing vidioc_default should also return -ENOTTY 2012-04-19 17:23:55 -03:00
mxb.h
noon010pc30.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
omap1_camera.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
omap24xxcam-dma.c [media] [trivial] omap24xxcam-dma: Fix logical test 2011-12-09 20:28:42 -02:00
omap24xxcam.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
omap24xxcam.h
ov772x.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov2640.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov5642.c [media] V4L: OV5642:remove redundant code to set cropping w/h 2012-04-10 21:31:19 -03:00
ov6650.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov7670.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov9640.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
ov9640.h [media] ov9640: convert to the control framework 2011-11-03 18:28:36 -02:00
ov9740.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
pms.c
pxa_camera.c [media] V4L: pxa_camera: add clk_prepare/clk_unprepare calls 2012-03-19 22:11:07 -03:00
rj54n1cb0c.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
s5k6aa.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
s2255drv.c [media] s2255drv: Remove redundant NULL test before release_firmware() 2012-04-19 09:09:58 -03:00
saa711x_regs.h
saa717x.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa6588.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7110.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7115.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7121.h
saa7127.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7146.h
saa7146reg.h
saa7185.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7191.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
saa7191.h
sh_mobile_ceu_camera.c [media] V4L: sh_mobile_ceu_camera: maximum image size depends on the hardware version 2012-03-19 22:11:06 -03:00
sh_mobile_csi2.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
sh_vou.c drivers/media: Add module.h to all files using it implicitly 2011-10-31 19:31:51 -04:00
smiapp-pll.c [media] smiapp: Add driver 2012-05-14 09:06:00 -03:00
smiapp-pll.h [media] smiapp: Generic SMIA++/SMIA PLL calculator 2012-05-14 08:57:02 -03:00
soc_camera_platform.c [media] convert drivers/media/* to use module_platform_driver() 2012-01-10 23:27:13 -02:00
soc_camera.c [media] V4L: soc-camera: call soc_camera_power_on() after adding the client to the host 2012-03-19 22:11:05 -03:00
soc_mediabus.c [media] V4L: soc-camera: add helper functions for new bus configuration type 2011-11-03 18:27:13 -02:00
sr030pc30.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
stk-sensor.c
stk-webcam.c [media] stk-webcam: Don't flip the image by default 2012-05-07 16:11:03 -03:00
stk-webcam.h
tcm825x.c drivers/media: Add module.h to all files using it implicitly 2011-10-31 19:31:51 -04:00
tcm825x.h
tda7432.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tda9840.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tea6415c.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tea6415c.h
tea6420.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tea6420.h
ths7303.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
timblogiw.c dmaengine/dma_slave: introduce inline wrappers 2012-03-21 19:20:22 +05:30
tlv320aic23b.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tuner-core.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tvaudio.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tveeprom.c [media] tveeprom: update hauppauge tuner list thru 181 2012-02-28 18:46:53 -03:00
tvp514x_regs.h
tvp514x.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tvp5150_reg.h [media] tvp5150: Add video format registers configuration values 2011-10-08 08:01:52 -03:00
tvp5150.c [media] media: tvp5150: support g_mbus_fmt callback 2012-03-08 12:07:14 -03:00
tvp7002_reg.h
tvp7002.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
tw9910.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
upd64031a.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
upd64083.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
v4l2-common.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
v4l2-compat-ioctl32.c [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
v4l2-ctrls.c [media] v4l: Allow changing control handler lock 2012-05-14 08:46:27 -03:00
v4l2-dev.c [media] v4l2-dev: make it possible to skip locking for selected ioctls 2012-05-14 09:13:43 -03:00
v4l2-device.c [media] media: fix truncated entity specification 2011-12-20 09:31:50 -02:00
v4l2-event.c [media] v4l2-ctrls: Use v4l2_subscribed_event_ops 2012-05-07 16:29:35 -03:00
v4l2-fh.c drivers/media: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:31:51 -04:00
v4l2-int-device.c drivers/media: Add module.h to all files using it implicitly 2011-10-31 19:31:51 -04:00
v4l2-ioctl.c [media] v4l2-dev: make it possible to skip locking for selected ioctls 2012-05-14 09:13:43 -03:00
v4l2-mem2mem.c [media] media: mem2mem: eliminate possible NULL pointer dereference 2011-09-06 15:03:26 -03:00
v4l2-subdev.c [media] v4l: Implement v4l2_subdev_link_validate() 2012-05-14 08:45:31 -03:00
via-camera.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-01-15 12:49:56 -08:00
via-camera.h
videobuf2-core.c [media] videobuf2-core: also test for pending events 2012-03-27 11:41:48 -03:00
videobuf2-dma-contig.c [media] media: videobuf2-dma-contig: quiet sparse noise about plain integer as NULL pointer 2012-05-08 14:35:14 -03:00
videobuf2-dma-sg.c [media] media: vb2: fix potential deadlock in mmap vs. get_userptr handling 2011-12-30 16:06:49 -02:00
videobuf2-memops.c [media] media: vb2: fix potential deadlock in mmap vs. get_userptr handling 2011-12-30 16:06:49 -02:00
videobuf2-vmalloc.c [media] media: vb2: support userptr for PFN mappings 2012-03-08 07:42:17 -03:00
videobuf-core.c [media] videobuf: only start streaming in poll() if so requested by the poll mask 2012-03-27 11:41:33 -03:00
videobuf-dma-contig.c
videobuf-dma-sg.c
videobuf-dvb.c [media] videobuf-dvb: avoid spurious ENOMEM when CONFIG_DVB_NET=n 2012-01-06 12:42:19 -02:00
videobuf-vmalloc.c
vino.c [media] v4l: Casting (void *) value returned by kmalloc is useless 2011-11-24 21:06:57 -02:00
vino.h
vivi.c [media] v4l: Allow changing control handler lock 2012-05-14 08:46:27 -03:00
vp27smpx.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
vpx3220.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
vs6624_regs.h [media] vs6624: add vs6624 sensor driver 2012-03-19 15:04:26 -03:00
vs6624.c [media] vs6624: add vs6624 sensor driver 2012-03-19 15:04:26 -03:00
w9966.c [media] /w9966: Fix a build warning 2012-03-19 15:37:59 -03:00
wm8739.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
wm8775.c [media] convert drivers/media/* to use module_i2c_driver() 2012-03-08 08:48:01 -03:00
zr364xx.c USB: convert drivers/media/* to use module_usb_driver() 2011-11-18 09:46:12 -08:00