summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends
AgeCommit message (Collapse)Author
2007-07-30Add support for DiB7070-based devicesPatrick Boettcher
From: Patrick Boettcher <pb@linuxtv.org> This changeset adds support for DiB7070P-based devices by adding the dib0070-driver and putting the appropriate layouts into dib0700_devices.c It also includes a new firmware for the dib0700 which is necessary to make the DiB7070-boards work and it also should fix the i2c-problems on some boards. Signed-off-by: Jean-Philippe Sibers <jpsibers@dibcom.fr> Signed-off-by: Patrick Boettcher <pboettcher@dibcom.fr>
2007-07-27Sync with DiBcom Driver Release 2.1.3 + some improvementsPatrick Boettcher
From: Patrick Boettcher <pboettcher@dibcom.fr> This changesets syncs the OpenSource driver for DiBcom demodulators with version 2.1.3 of DiBcom reference driver. There were some improvements since the last release for linux-dvb, e.g.: - stepped AGC startup - less space for initialization - diversity synchronization Furthermore this changeset contains the following things: - latest AGC settings for MT2266-based devices (namely Nova-TD and other) will improve the sensitivity - support for STK7700D reference design in dib0700-devices - remove some line-breaks when debugging is enabled - getting rid of layer between frontend_parameters and ofdm_channel used in dib*-drivers Signed-off-by: Patrick Boettcher <pboettcher@dibcom.fr>
2007-07-30merge: 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>
2007-07-29dvb-pll: make struct dvb_pll_fcv1236d staticMichael Krufky
From: Adrian Bunk <bunk@stusta.de> The fcv1236d support patch was created before the "dvb: remove static dependencies on dvb-pll" patch was applied, but the fcv1236d patch didn't get merged until after the fact. struct dvb_pll_fcv1236d can become static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-07-28whitespace cleanup for mt2131 and s5h1409Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> - trivial whitespace cleanups - add "c-basic-offset: 8" to enforce tabbing style in emacs Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-07-27merge: http://linuxtv.org/hg/~endriss/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-24tda10023: Remove range check of symbol rateOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Remove incorrect range check of symbol rate, spotted by the coverity checker and reported by Adrian Bunk. These range checks are performed by dvb_core now. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-07-26Forgotten mt2266 files addedPatrick Boettcher
From: Olivier DANET <odanet@caramail.com> In the previous commit I forgot to add the mt2266 files Signed-off-by: Olivier DANET <odanet@caramail.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2007-07-25Add initial support for Dual-DVB-T stick based on DiB7700 and MT2266Patrick Boettcher
From: Olivier DANET <odanet@caramail.com> - Microtune MT2266 driver. - Preliminary support for these dual tuner devices : - Pinnacle Dual DVB-T diversity - Terratec Cinergy DT USB XS diversity - Hauppauge Nova TD USB Signed-off-by: Olivier DANET <odanet@caramail.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2007-07-16fix dst and cx24123: tune() callback changed signess for delayMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> tune() dvb_frontend callback changed delay signess: int (*tune)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params, unsigned int mode_flags, - int *delay, + unsigned int *delay, This change caused warnings on cx24123 and dst modules: /home/v4l/master/v4l/cx24123.c:1034: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1782: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1808: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1837: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1860: warning: initialization from incompatible pointer type This patch corrects the function prototype on both modules to follow the core change. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-13stv0299: Fix signedness warning (gcc 4.1.1, kernel 2.6.22)Oliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Fix signedness warning (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-07-02Fix v4l-dvb backward compatibilityMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Due to several internal API changes on kernel, kernel backward compatibility were lost. Basically, compat.h should be the last include for it to work properly. This patch basically reorders kernel headers to allow backward compat to work fine. Also: Some includes were added after some non-include macros, on old drivers. Better to keep all includes at the beginning of the files. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-01unexport dvb_pll_configureMichael Krufky
From: Adrian Bunk <bunk@stusta.de> Now that it's static, it should no longer be exported to modules... Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-06-24or51211: remove hardcoded fcv1236d tuner programmingMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> - Remove hardcoded fcv1236d tuner programmming from or51211.c - Alter dvb-bt8xx for the pcHDTV-2000 to use dvb-pll for fcv1236d support. Thanks to Jarom Hatch <jshatch@gmail.com> for testing this change. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Cc: Jarom Hatch <jshatch@gmail.com>
2007-03-21s5h1409: use ARRAY_SIZE macro when appropriateMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-07-28Adding support for the S5H1409/CX24227 8VSB/QAM demodulator.Steven Toth
From: Steven Toth <stoth@hauppauge.com> This patch adds support for the Samsung S5H1409 demodulator, also known as the Conexant CX24227 demodulator. 8VSB mode has been tested and QAM has been implemented based on the spec, although it's untested. The S5H1409 / CX24227 appears on various Hauppauge boards. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2007-07-28Adding support for the MT2131 tuner.Steven Toth
From: Steven Toth <stoth@hauppauge.com> This adds support for the Microtune MT2131 tuner. 8VSB mode has been tested but QAM support will likely require more register work. Hauppauge have not announced any QAM devices using the MT2131 so QAM remains undone. For legal reasons, Microtune allowed us to write a GPL driver providing we did not document in significant detail any of the registers. This explains the lack of comments or defined on register names. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-10-13dvb-pll: add support for Philips fcv1236dMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This patch adds support to the dvb-pll library for the Philips fcv1236d tuner, based on the FCV1236D datasheet. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-06-12dvb: Remove static dependencies on dvb-pllMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This patch removes all static dependencies on the dvb-pll module. All exported dvb_pll_desc's have been UNexported, and the caller will reference the individual dvb_pll_desc by it's index in the pll_list array. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Acked-by: Oliver Endriss <o.endriss@gmx.de> Acked-by: Manu Abraham <manu@linuxtv.org>
2007-06-02dvb-pll digitv dvb-usb: Eliminate last user of dvb_pll_configureTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The last user of dvb_pll_configure was the dvb-usb function dvb_usb_tuner_calc_regs(), which was nothing more than a wrapper around dvb_pll_configure(). It's just a copy of the functionality provided by the tuner_ops calc_regs method, and can be deleted. There were two users of dvb_usb_tuner_calc_regs(). One was dvb_usb_tuner_set_params_i2c(), which is converted to use fe->ops.tuner_ops.calc_regs(). The other was the digitv driver. This driver can use one of two demods, mt352 or nxt6000. For the mt352, the driver would set tuner_ops.calc_regs to dvb_usb_tuner_calc_regs(). We can just attach dvb_pll and use the tuner_ops.calc_regs() provided by that module. For the nxt600, the driver would set tuner_ops.set_params to digitv_nxt6000_tuner_set_params. That function would in turn use dvb_usb_tuner_calc_regs(). We convert it to use tuner_ops.calc_regs() instead, and use dvb_pll_attach. The digitv_tuner_attach() needs to know which frontend was attached by digitv_frontend_attach(), since the nxt6000 needs tuner_ops.set_params() to be overridden with digitv_nxt6000_tuner_set_params(). So to do this a digitv_state that says which frontend was used is added to the dvb_usb_device private state field. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-06-04dvb: use '+=' instead of '=' for EXTRA_CFLAGSTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The Makefiles in the dvb directory tree used '=' when defining EXTRA_CFLAGS rather than '+=', which is far more common in the rest of the kernel source. = 14 times (9 of which this patch removes) := 25 times += 123 times This change also has certain advantages for the out of kernel v4l-dvb build system. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-06-05Replace C code with calls to ARRAY_SIZE macro.Mauro Carvalho Chehab
From: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-28tda10086,tda826x: fix tuning, STR/SNR valuesOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Several people reported unreliable reception with the current driver. Furthermore, STR and SNR values seem to be inverted. This fix is based on a patch posted by Hartmut Hackman. Thanks to Helmut Auer for testing and helping to optimize the patch. tda826x: - set baseband cut-off to 19 MHz tda10086: - change the parameters of the carrier recovery loop - toggle register 0x02 between 0x35 (tuning) and 0x00 (locked) - invert STR and SNR values Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Thanks-to: Hartmut Hackmann <hartmut.hackmann@t-online.de> Thanks-to: Helmut Auer <vdr@helmutauer.de>
2007-05-13Backport kernel changeset 59c51591a0ac7568824f541f57de967e88adaa07Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: The original patch is from Michael Opdenacker <michael@free-electrons.com> Fix occurrences of "the the " Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-13Backport kernel changeset beb7dd86a101263bf63a78c7c6d4da3849b35bd6Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: The original patch is from Robert P. J. Day <rpjday@mindspring.com>: Fix misspellings collected by members of KJ list. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-13Backport several i2c cleanups from mainstreamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> backport commit 2096b956d24c4b5950b808fc23b218425d79ebb1 from David Brownell <david-b@pacbell.net> Maybe I've merged also other i2c cleanups here that happened on Kernel. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-05-09dibusb-mb: convert pll handling to properly use dvb-pllMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> moved tda665x pll_init into dvb_pll_desc dvb_pll_tda665x.initdata convert handling of tda665x and tua6010xs to properly use dvb-pll Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-05-09dvb/frontends: remove unnecessary #include's of "dvb-pll.h"Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> These sources do not need to #include "dvb-pll.h" Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-05-08Integrate all users of the fmd1216 tuner with dvb-pllTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Enhance the dvb-pll definition of the fmd1216 tuner by adding an init sequence and a sleep sequence. The init sequence sets the AGC control register to 0xa0, selecting the fast time constant and 112 dBuV take-over point. This the recommended value for DVB-T operation. The sleep sequence sets bit P4 (which is believed to turn the analog demodulator on), turns off the tuning voltage, and sets the AGC control register to 0x60 (external AGC voltage, the recommended value for analog operation). The existing dvb-pll users in the cx88 driver, listed below, will gain these init and sleep sequences. CX88_BOARD_HAUPPAUGE_HVR1100 Hauppauge WinTV-HVR1100 DVB-T/Hybrid CX88_BOARD_HAUPPAUGE_HVR1100LP Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profi CX88_BOARD_WINFAST_DTV2000H WinFast DTV2000 H CX88_BOARD_HAUPPAUGE_HVR3000 Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DV CX88_BOARD_HAUPPAUGE_HVR1300 Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encod This non-dvb-pll user in the cx88 driver should only gain the sleep sequence, as it already had an equivalent init sequence. The non-dvb-pll code for this user is removed. X88_BOARD_DNTV_LIVE_DVB_T_PRO digitalnow DNTV Live! DVB-T Pro In these saa7134 driver, these non-dvb-pll users are converted to use dvb-pll: SAA7134_BOARD_MD7134 Medion 7134 SAA7134_BOARD_ASUS_EUROPA2_HYBRID Asus Europa2 OEM The saa7134 functions philips_fmd1216_tuner_init(), philips_fmd1216_tuner_sleep(), and philips_fmd1216_tuner_set_params() are deleted and the dvb-pll versions are used. This should result in equivalent sleep, init, and tuning sequences being sent to the tuner. For the cxusb driver, only one board is effected: USB_PID_MEDION_MD95700 Medion MD95700 This board used dvb_usb_tuner_init_i2c() and dvb_usb_tuner_set_params_i2c() for init and tuning, respectively. These functions are effectively the same as the dvb-pll versions. They call a tuner pass control function defined at the dvb-usb level, but this does not matter, as this card does not have a tuner pass control function (only the dib3000mb does). This board will gain the sleep sequence, while init and tuning should be unchanged. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-05-05tuv1236d: move rf input switching code into dvb-pllMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This patch removes duplicate code from cx88-dvb and saa7134-dvb that handles rf input switching for the TUV1236d tuner. The functionality is added to dvb-pll, where all the other code that handles the TUV1236d is kept. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-05-05dvb-pll: pass dvb_frontend_parameters to generic set() functionMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Rename dvb_pll_desc.setbw() to set(), and accept struct dvb_frontend_parameters instead of passing both freq and bandwidth, so that this may be used as a generic function. In order to do this, dvb_pll_configure must also be altered in the same manner, to take struct dvb_frontend_parameters instead of freq and bandwidth. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-04-22budget-av: Make inversion setting configurable, add KNC ONE V1.0 cardOliver Endriss
From: Hartmut Birr <e9hack@googlemail.com> Make the inversion setting configurable. The KNC ONE V1.0 uses non inverted setting for the inversion and add the KNC ONE V1.0 card. Signed-off-by: Hartmut Birr <e9hack@googlemail.com> Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-04-22tda10023: Add support for frontend TDA10023Oliver Endriss
From: Hartmut Birr <e9hack@googlemail.com> Add support for the frontend TDA10023 and add cards that need the tda10023. Signed-off-by: Hartmut Birr <e9hack@googlemail.com> Signed-off-by: Georg Acher <acher@in.tum.de> Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-04-22budget-av: Remove polarity switching of the clock for the DVB-C cardsOliver Endriss
From: Hartmut Birr <e9hack@googlemail.com> Remove the polarity switching of the clock for the DVB-C cards in budget-av.c. This hack is no longer necessary because the saa7146 can do the job to remove the additional FEC bytes from the TS. Signed-off-by: Hartmut Birr <e9hack@googlemail.com> Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-04-19Add support for Opera S1- DVB-USBMauro Carvalho Chehab
From: Marco Gittler <g.marco@freenet.de> This patch adds support for DVB-Opera S1 USB 2.0 BOX. Signed-off-by: Marco Gittler <g.marco@freenet.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-12merge: http://linuxtv.org/hg/~mkrufky/kernel-syncMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-01tda10086: fix DiSEqC message lengthMauro Carvalho Chehab
From: Andreas Oberritter <obi@linuxtv.org> Setting the message length to zero means to send one byte, so you need a subtraction instead of an addition. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-01lgdt330x: Fix some warningsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> It's KERN_WARNING "lgdt....", not "KERN_WARNING lgdt...." Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-03-29merge: http://linuxtv.org/hg/~hhackmann/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-24[PATCH] nxt200x: fix rf input switchingMichael Krufky
After dvb tuner refactoring, the pllbuff has been altered such that the pll address is now stored in buf[0]. Instead of sending buf to set_pll_input, we should send buf+1. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Ivan Andrewjeski <ivan@fiero-gt.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> kernel-sync committer: Linus Torvalds <torvalds@woody.linux-foundation.org>
2007-03-24tda827x: delayed probing of tuner versionHartmut Hackmann
From: Hartmut Hackmann <hartmut.hackmann@t-online.de> When the tuner is attached, the tda10046 is not initilized yet, so it is searching for its firmware. If the tuner is attached to the tda10046 silent i2c port, a bus collision can occur. Now the version is probed during the first init or sleep call. Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
2007-03-22isl6421: don't reference freed memoryMichael Krufky
From: Thomas Viehweger <Thomas.Viehweger@marconi.com> After freeing a block there should be no reference to this block. Signed-off-by: Thomas Viehweger <Thomas.Viehweger@marconi.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-03-21merge: http://linuxtv.org/hg/~mkrufky/m920xMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-18dvb-pll: Replace sleep function with a more capable oneTrent Piepho
The dvb-pll sleep function could only send a 2-byte sequence to the PLL. This isn't enough in some cases, for example fmd1216me will need to send a 4-byte command to set both BB and AB to the correct values. Instead of using a fake band with a frequency of 0 to store the sleep data (which has room for only two bytes), the new sleep function works like the init function. A new pointer is added to the pll description, and when non-NULL points to a buffer with the length and data to send. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-03-18dvb-pll: Move IF frequency from per-band data to per-tuner dataTrent Piepho
The IF frequency was specified for each band, but it's not something that changes from band to band. None of the tuner definitions had a different IF frequency (called offset) from one band to another. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Michael Krufky <mkrufky@linuxtv.org>
2007-03-18dvb-pll: Adjust rounding to be consistentTrent Piepho
Some PLLs had one half the step size added to the offset, so that the divisor would be rounded to the nearest integer. Some didn't and so would always be rounded down. This makes dvb-pll round to the nearest when calculating the divisor, without the offset needing to be fudged. PLLs that had a fudged offset have the offset changed to be just the IF frequency. The satellite PLL dvb_pll_philips_sd1878_tda8261 was rounding up for some reason, and I've kept it that way. In addition, frequencies that were rounded to the nearest kHz are extended to full Hz resolution. One sixth MHz step sizes that were listed as 166,666 Hz are changed to 166,667 Hz, which is slightly closer. PLLs that were already rounding: dvb_pll_tda665x, offset was 36 1/6 (to nearest kHz) + step/2 dvb_pll_fmd1216me, offset was 36 1/8 (to two digits) + step/2 dvb_pll_thomson_fe6600, offset was 36 1/8 (to two digits) + step/2 dvb_pll_env57h1xd5, offset was 36 1/8 + step Note that the last PLL, dvb_pll_env57h1xd5, appears to have had a bug in the offset. Rather than adding stepsize/2, it was adding a full stepsize. The PLL definition originally came from the dibusb driver, which used 36 1/8 + step/2. The change to 36 1/8 + step was probably a mistake added when the tuner was converted to dvb-pll. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Michael Krufky <mkrufky@linuxtv.org>
2007-03-18tda1004x: add ts_mode option to config structMichael Krufky
From: Hartmut Hackmann <hartmut.hackmann@t-online.de> The struct tda1004x_config has a new entry: .ts_mode Possible values are TDA10046_TS_PARALLEL or TDA10046_TS_SERIAL There always is only one interface active, default is parallel. Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-03-02or51132: refactor i2c code, improve error resilienceTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The code the i2c transactions was leftover from the old V4L-based ATSC driver. It did too little with too much code. It is re-written to remove unnecessary parameters and be more efficient. A demod register can now be read with one function call, instead of repeating a dozen line block of code each time. There were msleep()'s, which appear to be unnecessary, spread around all the I2C transactions. These have been removed. Reading SNR used to take about 130 ms, now it's down to 1.8 ms. Reads from the demodulator's registers do not return correct results sometimes. Adding or removing the delays in the I2C transactions did not appear to effect the probability of failure. If anything, the transactions without delays were less likely to fail, but since far more transactions could be made per second the number of failures per hour was greater. To increase reliability, the SNR and get_params functions will now retry once if they get bad data back. This appears to have reduced the probability of failure to effectively zero. Some error messages are cleaned up or given KERN_* levels when they were missing. or51132_setmode() wasn't returning correct error codes, which is fixed as well. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> CC: Rusty Scott <rustys@ieee.org>
2007-02-28merge: http://linuxtv.org/hg/~hhackmann/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-27dvb: Remove lgh06xf driverTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The code of the dvb-pll driver and the lgh06xf driver is nearly identical. The main difference is that the lgh06xf driver would set the AGC TOP value on every tune call. The dvb-pll driver now has the ability to set the AGC TOP when the front-end device is opened, which is a better way to go about it. By using this ability of dvb-pll, the lgh06xf driver is made unnecessary. There is one other difference. dvb-pll will probe for the presence of an I2C pll chip by doing a one byte read, the lgh06xf driver did not do this. In some devices the PLL is not reachable over I2C at the timer the tuner is attached. Some more initialization, such as firmware loading, must take place first. None of the devices using a LG-H06xF should have this problem. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Michael Krufky <mkrufky@linuxtv.org>