summaryrefslogtreecommitdiff
path: root/linux/drivers/media
AgeCommit message (Collapse)Author
2008-04-09meye: Replace meye_do_ioctl to use video_ioctl2Douglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> Convert meye to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2008-04-09au8522: Added SNR support and basic cleanupSteven Toth
From: Steven Toth <stoth@hauppauge.com> au8522: Added SNR support and basic cleanup Signed-off-by: Steven Toth <stoth@hauppauge.com>
2008-04-09videodev: Add default vidioc handlerDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> Added default vidioc handler for other private ioctls Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2008-04-10tda10086: make the xtal frequency a configuration optionHartmut Hackmann
From: Hartmut Hackmann <hartmut.hackmann@t-online.de> Some DVB-S boards, i.e. with the SD1878 tuner, use a 4 MHz reference frequency. This reqires a different setup of the clock PLL. This patch adds an enum to the tda10086_config struct and sets the proper values for the boards. This patch also fixes the DVB-S section of the MD7134_BRIDGE_2 Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
2008-04-09pvrusb2: Clean out all use of __FUNCTION__Mike Isely
From: Mike Isely <isely@pobox.com> Apparently the kernel developers no longer consider it proper etiquette to use __FUNCTION__; everyone must instead use __func__ (even though it breaks with older compilers). And worse still, actual effort is being expended to sweep this change throughout the kernel source tree. Don't these people have better things to do? So... Completely clean out all use of __FUNCTION__ from the pvrusb2 driver (it was just in the sysfs interface). I'm not going to use __func__ either. So there. Signed-off-by: Mike Isely <isely@pobox.com>
2008-04-09pvrusb2: Fix hang on module removalMike Isely
From: Mike Isely <isely@pobox.com> The pvrusb2 driver was getting had by this scenario: 1. Task A calls kthread_stop() for task B. 2. Before exiting, then Task B calls kthread_stop() for task C. The problem is, kthread_stop() wants to allocate an internal resource to itself (i.e. acquire a lock), which won't be released until kthread_stop() returns. But kthread_stop() won't return until task B is dead. But task B won't die until it finishes its call to kthread_stop() for task C, and that will block waiting on the resource already allocated inside task A. Deadlock. With the pvrusb2 driver, task A is the caller to pvr_exit(), task B is the control thread run inside of pvrusb2-context.c, and task C is any worker thread run inside of pvrusb2-hdw.c. This problem got introduced by the previous threading setup change, which was itself an attempt to fix a module tear-down race (which it actually did fix). The lesson here is that a task being waited on as part of a kthread_stop() simply cannot be allow to also issue a kthread_stop() - or we make sure not to issue the enclosing kthread_stop() until we know that the inner kthread_stop() has completed first. The solution for the pvrusb2 driver is some hackish code which changes the main control thread tear down into a two step process. This then makes it possible to delay issuing the kthread_stop() on the control thread until after we know that everything has been torn down first. (And yes, we really need that kthread_stop() because it's the only way to safely guarantee that a module-referencing kernel thread has safely returned back out of the module before we finally remove the module.) Signed-off-by: Mike Isely <isely@pobox.com>
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-05au8522: add function au8522_read_mseMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> add function au8522_read_mse, which will be used to compute snr TO DO: mse2snr Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-04-05au8522: fix au8522_read_ucblocks for qamMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> ucblocks are reported in separate registers for vsb & qam Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
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-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-02au8522: replace __FUNCTION__ with __func__Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> replace __FUNCTION__ with __func__ and clean associated checkpatch.pl warnings. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-04-02au8522: codingstyle cleanupsMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Fixed some checkpatch.pl warnings Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
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-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-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-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>
2008-04-17em28xx-dvb: Fix analog modeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> The analog entries are wrong. Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-dvb: don't use videobuf-dvbMauro Carvalho Chehab
From: Aidan Thornton <makosoft@googlemail.com> Modifies em28xx-dvb not to use videobuf-dvb, but instead to include the code for registering dvb devices locally and use the URB management code in the em28xx driver directly. DVB data streaming should now work. Signed-off-by: Aidan Thornton <makosoft@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: generalise URB setup code.Mauro Carvalho Chehab
From: Aidan Thornton <makosoft@googlemail.com> Move the URB setup and management code to em28xx-core.c and generalise it slighlty so that the DVB code can use it. Signed-off-by: Aidan Thornton <makosoft@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-dvb: add support for the HVR-900Mauro Carvalho Chehab
From: Aidan Thornton <makosoft@googlemail.com> Adds the correct GPIOs and demod attach code for the HVR-900 Signed-Off-By: Aidan Thornton <makosoft@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: Sets frequency when changing to analog modeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This will make tuner-xc2028 to change to analog, if needed. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-dvb: videobuf callbacks are waiting for em28xx_fhMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to Devin Heitmueller <devin.heitmueller@gmail.com> for pointing this issue. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: several fixes on gpio programmingMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> em28xx-cards.c: - Fix reversed val/rst values in both analog_gpio and digital_gpio vectors - Fix crash that would was occurring during every analog startup while looping over gpio_ctl - Remove what appears to be a redundant setting of gpio_ctl->val - Don't use OREN538 demodulation for the HVR-950 (prevents ATSC scanning from working) em28xx-dvb.c: - Tuner should be in digital mode when issuing the reset - Add copyright - Change struct definition (corresponds to fix in em28xx-cards.c for gpio_ctl looping) Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: share the same xc3028 setup for analog and digital modesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to Devin Heitmueller <devin.heitmueller@gmail.com> and Aidan Thornton" <makosoft@googlemail.com> for pointing some errors with the previous scenario. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx-dvb: Add support for HVR950Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch adds DVB support for Hauppauge HVR950. Thanks to Michael Krufky <mkrufky@linuxtv.org> for getting those values. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17Improve generic support for setting gpio valuesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> em28xx based devices with xc3028 may require some specific gpio values. This patch adds a generic handling for such values. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: Fix KconfigMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Some devices have msp3400 audio decoder chip. Selects it, if em28xx. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-17em28xx: add a module to handle dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch adds em28xx-dvb. This driver is highly based on cx88-dvb and saa7134-dvb. This code currently loads and unloads successfully. However, some changes are needed to properly support the mpeg streams and to setup em28xx to work on DVB mode. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>