1
linux/drivers/media/video
Trent Piepho 59fd8f8d8e V4L/DVB (6066): cx88-alsa: Change order of interrupt enabling, fix spurious IRQs
Currently the driver turns on audio interrupts, then sets the audio interrupt
mask to select which interrupts to get.  One could received unwanted
interrupts since the mask is set _after_ interrupts have already been turned
on.  Change the order of the operations, and clear any audio interrupt status
bits that are already set for good measure.

Before changing the SRAM FIFO parameters, make sure the FIFO isn't being used.
This shouldn't happen with just the ALSA driver, as it should never try to
turn on FIFO/RISC/DMA while they are already on.  However, the V4L driver
needs to turn the audio FIFO on for analog audio output to work (undocumented
cx88 bug).  The FIFO parameters are in an inconsistent state while they are
updated, and this results in many FIFO sync error IRQs if the FIFO is in use
while it's in this inconsistent state.

Also create and use a bunch of symbolic constants for audio interrupt mask
bits.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-09 22:05:55 -03:00
..
bt8xx V4L/DVB (5899): bttv: Fix Viewcast Osprey 440 support 2007-07-30 16:26:30 -03:00
cpia2 some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
cx88 V4L/DVB (6066): cx88-alsa: Change order of interrupt enabling, fix spurious IRQs 2007-10-09 22:05:55 -03:00
cx25840 V4L/DVB (6051): cx25840: make proper use of SOFT_RESET 2007-10-09 22:05:38 -03:00
em28xx V4L/DVB (6005): Initialize filp->private_data only once in em28xx_v4l2_open 2007-10-09 22:05:00 -03:00
et61x251 V4L/DVB (5766): ET61x251 driver updates 2007-07-18 14:24:08 -03:00
ivtv V4L/DVB (6061): ivtv: add VIDIOC_OVERLAY 2007-10-09 22:05:53 -03:00
ovcamchip i2c: Cleanup the includes of <linux/i2c.h> 2007-05-01 23:26:29 +02:00
pvrusb2 V4L/DVB (5586): Use menuconfig objects II - V4L 2007-05-09 10:12:39 -03:00
pwc V4L/DVB (6147): Pwc: Fix a broken debug message 2007-09-14 13:13:41 -03:00
saa7134 V4L/DVB (6144): Fix mux setup for composite sound on AverTV 307 2007-09-14 13:13:41 -03:00
sn9c102 V4L/DVB (5765): SN9C1xx driver updates 2007-07-18 14:24:07 -03:00
usbvideo some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
usbvision usbvision-video: buggered method tables 2007-09-26 09:22:04 -07:00
zc0301 V4L/DVB (5767): ZC0301 driver updates 2007-07-18 14:24:09 -03:00
adv7170.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
adv7175.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
arv.c V4L/DVB (5983): Arv.c: fix memset in ioctl 2007-10-09 22:04:40 -03:00
bt819.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
bt856.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
bt866.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
btcx-risc.c
btcx-risc.h
bw-qcam.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
bw-qcam.h
c-qcam.c V4L/DVB (5860): Use msecs_to_jiffies instead of HZ on some webcam drivers 2007-07-20 17:35:50 -03:00
cafe_ccic-regs.h V4L/DVB (5690): Cafe_ccic: Properly power down the sensor 2007-05-22 16:16:27 -03:00
cafe_ccic.c V4L/DVB (6028): Turn an unnecessary mdelay() into msleep(). 2007-08-20 12:18:05 -03:00
compat_ioctl32.c V4L/DVB (5989): V4L: Add additional ioctls to compat_ioctl32 2007-10-09 22:04:45 -03:00
cpia_pp.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
cpia_usb.c
cpia.c V4L/DVB (5076): Cpia.c: buffer overflow 2007-02-21 13:34:35 -02:00
cpia.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
cs53l32a.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
cs8420.h
cx2341x.c i2c: Cleanup the includes of <linux/i2c.h> 2007-05-01 23:26:29 +02:00
dabfirmware.h
dabusb.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
dabusb.h
dpc7146.c
font.h
hexium_gemini.c
hexium_orion.c
ibmmpeg2.h
indycam.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
indycam.h
ir-kbd-i2c.c V4L/DVB (5786): Ir-kbd-i2c: add support for Hauppauge HVR1300 remote 2007-07-18 14:24:20 -03:00
Kconfig V4L/DVB (5929): Add vp27smpx driver 2007-10-09 22:03:25 -03:00
ks0127.c
ks0127.h
Makefile V4L/DVB (5929): Add vp27smpx driver 2007-10-09 22:03:25 -03:00
meye.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
meye.h meye: make meye use sony-laptop instead of sonypi 2007-04-28 22:06:02 -04:00
msp3400-driver.c V4L/DVB (5953): msp3400-driver.c: kmalloc + memset conversion to kzalloc 2007-10-09 22:03:40 -03:00
msp3400-driver.h V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
msp3400-kthreads.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
mt20xx.c V4L/DVB (5793): Tuner: remove hardware-specific info from public header 2007-07-18 14:24:23 -03:00
mxb.c
mxb.h
ov511.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
ov511.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ov7670.c V4L/DVB (6027): Get rid of an ill-behaved msleep in i2c write 2007-08-20 12:18:04 -03:00
planb.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
planb.h V4L/DVB (5551): Plan-b: header change 2007-04-27 15:45:53 -03:00
pms.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa711x_regs.h
saa711x.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
saa5246a.c V4L/DVB (5197): Convert to generic boolean-values 2007-02-21 13:35:16 -02:00
saa5246a.h V4L/DVB (5197): Convert to generic boolean-values 2007-02-21 13:35:16 -02:00
saa5249.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
saa6588.c
saa7110.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
saa7111.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7114.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7115.c V4L/DVB (5414): Add missing kfree in early exit of saa7115. 2007-04-27 15:44:31 -03:00
saa7121.h
saa7127.c V4L/DVB (5306): Add support for VIDIOC_G_CHIP_IDENT 2007-04-27 15:43:27 -03:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB (5819): Cleanup: reorder some includes 2007-07-18 14:24:35 -03:00
saa7191.c V4L/DVB (6148): Fix a warning at saa7191_probe 2007-09-14 13:13:42 -03:00
saa7191.h
saa7196.h
se401.c V4L/DVB (5490): Drivers/media/video/se401.c: check kmalloc() return value. 2007-04-27 15:45:21 -03:00
se401.h header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
stradis.c V4L/DVB (5831): stradis: use ARRAY_SIZE 2007-07-18 14:24:42 -03:00
stv680.c V4L/DVB (5790): Fix error handling for stv680 2007-07-18 14:24:21 -03:00
stv680.h
tcm825x.c V4L/DVB (5863): TCM825x: Add driver. 2007-10-09 22:02:53 -03:00
tcm825x.h V4L/DVB (5863): TCM825x: Add driver. 2007-10-09 22:02:53 -03:00
tda7432.c V4L/DVB (5492): Remove useless includes of i2c-algo-bit.h 2007-04-27 15:45:23 -03:00
tda8290.c V4L/DVB (5793): Tuner: remove hardware-specific info from public header 2007-07-18 14:24:23 -03:00
tda9840.c
tda9840.h
tda9875.c V4L/DVB (5492): Remove useless includes of i2c-algo-bit.h 2007-04-27 15:45:23 -03:00
tda9887.c V4L/DVB (5978): tuner: Better tuner radio support 2007-10-09 22:04:34 -03:00
tea5761.c V4L/DVB (5793): Tuner: remove hardware-specific info from public header 2007-07-18 14:24:23 -03:00
tea5767.c V4L/DVB (5793): Tuner: remove hardware-specific info from public header 2007-07-18 14:24:23 -03:00
tea6415c.c
tea6415c.h
tea6420.c
tea6420.h
tlv320aic23b.c
tuner-3036.c
tuner-core.c V4L/DVB (5793): Tuner: remove hardware-specific info from public header 2007-07-18 14:24:23 -03:00
tuner-driver.h V4L/DVB (6006): tuner: move last_div to tuner-simple private data 2007-10-09 22:05:01 -03:00
tuner-simple.c V4L/DVB (6006): tuner: move last_div to tuner-simple private data 2007-10-09 22:05:01 -03:00
tuner-types.c V4L/DVB (5978): tuner: Better tuner radio support 2007-10-09 22:04:34 -03:00
tvaudio.c V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C drivers 2007-07-20 17:35:49 -03:00
tveeprom.c V4L/DVB (5841): tveeprom: add support for Philips FQ1216LME MK3 tuner. 2007-07-18 14:24:46 -03:00
tvmixer.c V4L/DVB (5028): Tvmixer module_put cleanup 2007-02-21 13:34:18 -02:00
tvp5150_reg.h
tvp5150.c V4L/DVB (5739): Replace C code with calls to ARRAY_SIZE macro. 2007-07-18 14:23:52 -03:00
upd64031a.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
upd64083.c V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
v4l1-compat.c V4L/DVB (5571): V4l1-compat: Make VIDIOCSPICT return errors in a useful way 2007-05-09 10:13:09 -03:00
v4l2-common.c V4L/DVB (5869): Add check for valid control ID to v4l2_ctrl_next. 2007-07-20 17:35:53 -03:00
v4l2-int-device.c V4L/DVB (5940): Export v4l2_int_device_{, un}register 2007-10-09 22:03:30 -03:00
video-buf-dvb.c V4L/DVB (5988): Fix OOP on videobuf-dvb when hibernating 2007-10-09 22:04:45 -03:00
video-buf.c V4L/DVB (5603): V4L: Prevent queueing queued buffers. 2007-05-09 10:12:56 -03:00
videocodec.c V4L/DVB (5489): Codec.c: check kmalloc() return value. 2007-04-27 15:45:20 -03:00
videocodec.h
videodev.c V4L/DVB (5982): Dev.c: memset fix 2007-10-09 22:04:39 -03:00
vino.c V4L/DVB (5860): Use msecs_to_jiffies instead of HZ on some webcam drivers 2007-07-20 17:35:50 -03:00
vino.h
vivi.c V4L/DVB (6014): vivi: use videobuf_read_stream() 2007-10-09 22:05:10 -03:00
vp27smpx.c V4L/DVB (6044): vp27smpx: clarify history of this source. 2007-10-09 22:05:30 -03:00
vpx3220.c
w9966.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
w9968cf_decoder.h
w9968cf_vpp.h
w9968cf.c i2c: Declare more i2c_adapter parent devices 2007-02-13 22:09:03 +01:00
w9968cf.h
wm8739.c V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module 2007-07-20 17:35:57 -03:00
wm8775.c V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading module 2007-07-20 17:35:57 -03:00
zoran_card.c V4L/DVB (5885): zr36067: Fix problems with module parameters 2007-10-09 22:02:58 -03:00
zoran_card.h V4L/DVB (5884): zr36067: clean up debug function 2007-10-09 22:02:57 -03:00
zoran_device.c V4L/DVB (5885): zr36067: Fix problems with module parameters 2007-10-09 22:02:58 -03:00
zoran_device.h
zoran_driver.c V4L/DVB (5981): Zoran_driver.c: fix memset in ioctl 2007-10-09 22:04:38 -03:00
zoran_procfs.c V4L/DVB (5884): zr36067: clean up debug function 2007-10-09 22:02:57 -03:00
zoran_procfs.h
zoran.h V4L/DVB (5890): zr36067: Add UYVY, RGB555X, RGB565X, and RGB32 formats 2007-07-30 16:26:26 -03:00
zr364xx.c V4L/DVB (5792): Zr364xx: add support for Trust Powerc@m 970Z 2007-07-18 14:24:23 -03:00
zr36016.c
zr36016.h
zr36050.c
zr36050.h
zr36057.h
zr36060.c
zr36060.h