summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
AgeCommit message (Collapse)Author
2008-04-08merge: http://linuxtv.org/hg/~tmerle/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-07ivtv: the upd* modules have to be probed to properly autodetect some cards.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-04-06pvrusb2: Implement cleaner DVB kernel thread shutdownMike Isely
From: Mike Isely <isely@pobox.com> Earlier fix to handle DVB feed thread aborts was overly-aggressive. We can take better advantage of what kthread_stop() can do. This change simplifies things. Signed-off-by: Mike Isely <isely@pobox.com>
2008-04-06pvrusb2: Close connect/disconnect raceMike Isely
From: Mike Isely <isely@pobox.com> If a disconnect happens before initialization is completed, the pvrusb2 driver can accidentally touch dangling pointers. The whole initialization function must be protected by the big_lock, and once inside that lock, the initialization function should abort if it is discovered that a disconnect has already taken place. Signed-off-by: Mike Isely <isely@pobox.com>
2008-04-06pvrusb2: Fix race on module unloadMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver - for basically forever - was not enforcing a proper module tear-down. Kernel threads are used inside the driver and all must be gone before the module can be safely removed. This changeset reimplements a chunk of pvrusb2-context.c to enforce this correctly. Unfortunately this is not a simple fix. The new implementation also cuts back on kernel thread usage; instead of there being 1 control thread per instance now it's just 1 control thread shared by all instances. (By dropping to a single thread then the module exit function can block on its shutdown and the thread itself can monitor and cleanly shut down all of the other instances first.) Signed-off-by: Mike Isely <isely@pobox.com>
2008-04-05pvrusb2: Implement critical digital streaming quirk for onair devicesMike Isely
From: Mike Isely <isely@pobox.com> Implement timed measurement of encoder operation for the first time it is run. This allows the driver to note when the encoder has been run successfully for at least 1/4 second. On top of that implement various bits to ensure that the encoder has been run once before digital streaming for OnAir devices. This is done via several core state machine tweaks. Signed-off-by: Mike Isely <isely@pobox.com>
2008-04-05cx88: enable radio GPIO correctly.Steven Toth
From: Steven Toth <stoth@hauppauge.com> cx88: enable radio GPIO correctly. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2008-04-04usbvision: rename __PRETTY_FUNCTION__ occurrencesThierry MERLE
From: Thierry MERLE <thierry.merle@free.fr> __PRETTY_FUNCTION__ has no sense in C lang context. Rename it as __func__ Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
2008-04-04v4l: video/usbvision replace remaining __FUNCTION__ occurrencesThierry MERLE
From: Harvey Harrison <harvey.harrison@gmail.com> __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
2008-04-04 soc-camera: use a spinlock for videobuffer queueMauro Carvalho Chehab
From: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> All drivers should provide a spinlock to be used in videobuf operations. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Reviewed-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-04 soc-camera: extract function pointers from host object into operationsMauro Carvalho Chehab
From: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Function pointers and the driver owner are not expected to change throughout soc-camera host's life. Extract them into an operations struct. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-03merge: http://linuxtv.org/hg/~mkrufky/pvrusb2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-02pvrusb2: New device attribute for encoder usage in digital modeMike Isely
From: Mike Isely <isely@pobox.com> Some tuners seem to not work in digital mode unless the encoder is healthy. Implement a device attribute to represent this flag and modify the core state machines to enforce this requirement. Signed-off-by: Mike Isely <isely@pobox.com>
2008-04-18au0828: replace __FUNCTION__ with __func__Mauro Carvalho Chehab
From: Michael Krufky <mkrufky@linuxtv.org> replace __FUNCTION__ with __func__ and clean associated checkpatch.pl warnings. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-02Kconfig: VIDEO_AU0828 should select DVB_AU8522 and DVB_TUNER_XC5000Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> VIDEO_AU0828 should select DVB_AU8522 and DVB_TUNER_XC5000 if !DVB_FE_CUSTOMIZE Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-04-18au0828: CleanupMauro Carvalho Chehab
From: Steven Toth <stoth@hauppauge.com> Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-02videobuf-dma-sg.c: Avoid NULL dereference and add comment about backwards ↵Brandon Philips
compatibility Signed-off-by: Brandon Philips <bphilips@suse.de> --- linux/drivers/media/video/videobuf-dma-sg.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)
2008-04-02videobuf: Avoid deadlock with QBUF and bring up to spec for empty queueBrandon Philips
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 CC: Trent Piepho <xyzzy@speakeasy.org> CC: Carl Karsten <carl@personnelware.com> CC: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Brandon Philips <bphilips@suse.de> --- linux/drivers/media/video/videobuf-core.c | 96 +++++++++++++++++++++++------- linux/include/media/videobuf-core.h | 2 2 files changed, 78 insertions(+), 20 deletions(-)
2008-04-02vivi: Simplify the vivi driver and avoid deadlocksBrandon Philips
vivi previously had a very complex queuing system and held spinlocks while doing copy_to_user, kmalloc, etc. This caused the driver to easily deadlock when a multi-threaded application used it and revealed bugs in videobuf too. This replaces the copy_to_user with memcpy since we were never copying to user space addresses. And makes the kmalloc atomic. Signed-off-by: Brandon Philips <bphilips@suse.de> --- linux/drivers/media/video/vivi.c | 317 +++++++++------------------------------ 1 file changed, 81 insertions(+), 236 deletions(-)
2008-04-02vivi: make vivi openable only onceBrandon Philips
vivi currently doesn't have the infrastructure to handle being opened more than one time and will crash if it is. So, make it openable only once. Signed-off-by: Brandon Philips <bphilips@suse.de> --- linux/drivers/media/video/vivi.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-)
2008-04-02videobuf-vmalloc.c: Fix hack of postponing mmap on remap failureBrandon Philips
In videobuf-vmalloc.c remap_vmalloc_range is failing when applications are trying to mmap buffers immediately after reqbuf. It fails because the vmalloc area isn't setup until the first QBUF when drivers call iolock. This patch introduces mmap_setup to the qtype_ops and it is called in __videobuf_mmap_setup if the buffer type is mmap. In the case of vmalloc buffers this calls iolock, and sets the state to idle. I don't think this is needed for dma-sg buffers and it defaults to a no-op for everything but vmalloc. Signed-off-by: Brandon Philips <bphilips@suse.de> --- linux/drivers/media/video/videobuf-core.c | 29 +++++++----------- linux/drivers/media/video/videobuf-vmalloc.c | 43 +++++++++++++-------------- linux/include/media/videobuf-core.h | 3 + 3 files changed, 35 insertions(+), 40 deletions(-)
2008-04-02videobuf-vmalloc.c: Remove buf_release from videobuf_vm_closeBrandon Philips
Remove the buf_release on vm_close because it will lead to a buffer being released multiple times since all buffers are already freed under the two possible cases: device close or STREAMOFF. Signed-off-by: Brandon Philips <bphilips@suse.de> --- linux/drivers/media/video/videobuf-vmalloc.c | 2 -- 1 file changed, 2 deletions(-)
2008-04-02videobuf: Simplify videobuf_waiton logic and possibly avoid missed wakeupBrandon Philips
Possible missed wakeup- use kernel helpers for wait queues http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg27983.html Signed-off-by: Brandon Philips <bphilips@suse.de> --- linux/drivers/media/video/videobuf-core.c | 37 ++++++++++++------------------ 1 file changed, 15 insertions(+), 22 deletions(-)
2008-04-02videobuf: Wakeup queues after changing the state to ERRORBrandon Philips
The waitqueues must be woken up every time state changes. Signed-off-by: Brandon Philips <bphilips@suse.de> --- linux/drivers/media/video/videobuf-core.c | 1 + 1 file changed, 1 insertion(+)
2008-04-01Avoid an oops if the board is not fully defined.Steven Toth
From: Steven Toth <stoth@hauppauge.com> Avoid an oops if the board is not fully defined. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2008-03-31 2-int-device.c: add MODULE_LICENSEMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> Now that it's in an own module it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-01merge: http://linuxtv.org/hg/~mkrufky/tunerMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-03-30 make sn9c102_i2c_try_write() staticMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> This patch makes the needlessly global sn9c102_i2c_try_write() static. Signed-off-by: Adrian Bunk <bunk@kernel.org> CC: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-03-30 proper prototype for zoran_device.c:zr36016_write()Mauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> This patch adds a proper prototype for zr36016_write() in drivers/media/video/zoran_card.h Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-01Fix a small bug introduced on a previous changeset.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-01merge: http://www.linuxtv.org/hg/~stoth/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-03-30pvrusb2-dvb: Fix stuck thread on streaming abortMike Isely
From: Mike Isely <isely@pobox.com> If the device fails to stream, the feed thread will block forever waiting for buffers. But while in this state it was not looking for an exit condition from the driver DVB interface. This caused the thread to jam. Implement a new stop flag (which will be set appropriately) to tell the thread to stop. Signed-off-by: Mike Isely <isely@pobox.com>
2008-03-30tuner-simple: fix broken build dependencyMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> tuner-simple is the only module that uses tuner-types - these will be merged to a single module in the future. For now, build both of them if TUNER_SIMPLE is selected. This fixes the following build warning, if tuner-simple is selected without tuner-types: WARNING: "tuner_count" [tuner-simple.ko] undefined! WARNING: "tuners" [tuner-simple.ko] undefined! Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-03-29HVR950Q Hauppauge eeprom support.Steven Toth
From: Steven Toth <stoth@hauppauge.com> HVR950Q Hauppauge eeprom support. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2008-04-18Add support for Hauppauge HVR950Q/HVR850/FusioHDTV7-USBMauro Carvalho Chehab
From: Steven Toth <stoth@hauppauge.com> Including support for the AU0828 USB Bridge. Including support for the AU8522 ATSC/QAM Demodulator. Including support for the AU8522 ATSC/QAM Demodulator. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-18em28xx: adds proper demod IF for HVR-900Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to Aidan Thornton <makosoft@googlemail.com> for helping to test this firmware Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-18em28xx: make some symbols staticMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17Removes a manual mode setupMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> The setup is already done at open(). Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-dvb: Properly selects digital mode at the right placeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> The driver should be switched to digital mode, when tring to access the frontend or when streaming. This patch provides the correct code to support this feature. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: Provide the proper support for switching between analog/digitalMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Before this patch, HVR900/HVR950 were incorreclty going back to analog. The result is that only digital were working. This patch provides the proper setup for analog/digital and tuner callback. It also properly resets analog into a sane state at open(). Thanks to Steven Toth <stoth@linuxtv.org> and Michael Krufky <mkrufky@linuxtv.org> for helping to set the proper parameters to GPO/GPIO em2883 ports. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-core: fix some debug printk's that wrongly received KERN_INFO.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Those printk's were adding more info to a line that were already being printed. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: rename registersMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Now, all registers will follow the same convension: EM28XX_R<reg_number>_<reg_name> This allows to associate a register with its value, and also with a canonical name. Also, registers that are specific to a given chip were renamed accordingly, as EM2800_foo (for 2800 only registers) or EM2880_foo (for registers that started to appear on em2880). Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-cards: use register names for GPIO/GPOMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Before this patch, registers 0x04 and 0x08 were referenced by its value. This is bad, since makes harder for someone to understand what this is doing. This patch renames those two registers into an appropriate name. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: Move registers to a separate fileMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> em28xx.h contains lots of different stuff inside. The better is to break it on some files. This patch removes the register names, moving them to a separate file. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: Select reg wait time based on chip IDMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This is more conservative than just removing the msleep() from em28xx_write_regs_req(), since some old hardware may still need it. So, it will remove the sleep time only for those chips where this removal were tested. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-core: speed-up firmware loadMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> em28xx-core.c: - Remove sleep in i2c message routine which slows down i2c by a factor 10x. Load time for BASE firmware went from 13s to .973s Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-dvb: Some cleanups and fixesMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> em28xx-dvb.c: - Remove unneeded xc3028_ctrl structure. The driver automatically preserves the previous value tuner-xc2028.c: - Make the return type for xc2028_get_reg signed, since all of the callers are looking for "< 0" to detect errors. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17CodingStyle fixesMauro Carvalho Chehab
From: Douglas Schilling Landgraf <dougsland@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-dvb: Program GPO as wellMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17tuner-xc3028: Avoids too much firmware reloadsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> xc3028_sleep function is being used with a different meaning. This should be called only before doing S1/S3 sleep. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>