Commit Graph

243 Commits

Author SHA1 Message Date
Trent Piepho c5dec9fb24 V4L/DVB (4751): Fix DBV_FE_CUSTOMISE for card drivers compiled into kernel
When a front-end is disabled, card drivers that use it are compiled with
a stub version of the front-end's attach function.  This way they have no
references to the front-end's code and don't need it to be loaded.
If a card driver is compiled into the kernel, and a front-end is a
module, then that front-end is effectively disabled wrt the card driver. 
In this case, the card driver should get the stub version.  This was not
happening.
The stub vs real attach function selection is changed so that when the
front-end is a module the real attach function is only used if the card
driver is a module as well.  This means a module front-end will be
supported by card drivers that are modules and not supported by card
drivers compiled into the kernel.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-03 00:49:40 -03:00
Trent Piepho 6c8c21b911 V4L/DVB (4752): DVB: Add DVB_FE_CUSTOMISE support for MT2060
Let the MT2060 be customized like most of the other DVB PLLs/front-ends. 
Also, add a missing dependency on I2C.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-02 23:58:04 -03:00
Patrick Boettcher 5570dd02ca V4L/DVB (4750): AGC command1/2 is board specific
Added config-struct-parameter to take board-specific AGC command 1 and 2 into account.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-14 00:44:29 -03:00
Michael Krufky c071fab453 V4L/DVB (4734): Tda826x: fix frontend selection for dvb_attach
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-14 00:44:06 -03:00
Michael Krufky fc13d929cc V4L/DVB (4733): Tda10086: fix frontend selection for dvb_attach
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-14 00:44:02 -03:00
Steven Toth 9b5a4a676a V4L/DVB (4699): CX24109 patch to eliminate the weird mis-tunings
A number of people have been reporting wierd tuning problems with various
cards. Yeasah tracked down the problem to a miss-read datasheet. This
resolves the problems.

Signed-off-by: Yeasah Pell <yeasah@schwide.net>
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-03 15:15:04 -03:00
Patrick Boettcher 303cbeaaac V4L/DVB (4653): Misc fixes for Nova-T 500
- forward the clock to the slave undivided
- when sleeping the 3000 do not shutdown the clock

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-03 15:12:57 -03:00
Patrick Boettcher 01b4bf31ce V4L/DVB (4652): Misc fixes for DiB3000MC and Nova-T 500
- make the timing frequency update work.
- fix AGC calibration for Nova-T 500

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-03 15:12:50 -03:00
Patrick Boettcher 6958effedb V4L/DVB (4648): Hauppauge Nova-T 500 support added
This changeset finalizes the support of the Hauppauge Nova-T 500 (Dual DVB-T).
It adds correct AGC setting for the 3000P, correct firmware download state
detection.
Additionally it fixes the mt2060-driver to be able to be used with dvb_attach.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-03 15:12:36 -03:00
Patrick Boettcher 136cafbf4a V4L/DVB (4646): Misc. changes, DiB3000MC, MT2060
Changed the attach-function of the dib3000mc-driver to return only one
frontend. In case of multiple dib3000-chips on one board, one has to call the
i2c-enumeration manually before.
Added a field to Microtune 2060 config to output the clock to other
tuners/device on a board.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-03 15:12:27 -03:00
Andrew de Quincey 92cd24fea4 V4L/DVB (4610): Add tua6100 config wrapper
I had forgotten to add the wrapper round the tua6100_attach function if its
disabled in Kconfig

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:35 -03:00
Andrew de Quincey 00be2e7c64 V4L/DVB (4606): Add driver for TUA6100
This driver was originally in budget-av.c, however I have extracted it into
a seperate file to permit reuse.
I also reworked the code to make it maintainable. I then examined the KNC1
windows drivers and rewrote the code in order to configure the PLL as they
do. This solves a lot of reported tuning problems.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:35 -03:00
Bradley Kite 1e9dadbe7a V4L/DVB (4600): Fix DVB Front-End Signal Strength Inconsistency
The cx22702 returns an 8 bit unshifted value for signal strength; this is 
inconsistent with most other frontends

Signed-off-by: Bradley Derek Kite <bradley.kite@gmail.com>
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:35 -03:00
Trent Piepho 62a7b3e2ad V4L/DVB (4532): Isl6421: Release callback installed incorrectly
The release callback was installed in ops.release, it should have been
ops.release_sec.  This prevented to front-end release from getting
called.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Patrick Boettcher fb6065bbd9 V4L/DVB (4530): Another fix for the PID parsing
Still the pid_parse bit was erased.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Patrick Boettcher 559463bba8 V4L/DVB (4529): Keep the PID parse bit when resetting the output mode
Matthieu Castet found that with the rewritten dib3000mc-driver the PID-parsing
was handled correctly. This changeset fixes it.
Thanks Matthieu

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Mauro Carvalho Chehab 1e805e679a V4L/DVB (4523): Fix a warning caused by a typo (comma instead of dot-comma)
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Chris Pascoe fc3398d8b3 V4L/DVB (4496): Tuning tweaks for ZL10353
More register setup which improves the ZL10353's tuning characteristics.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:32 -03:00
Chris Pascoe 8fb957841b V4L/DVB (4495): Fix "no data from ZL10353 based USB tuner" problem
Force parallel transport stream output on the ZL10353 attached to a
bluebird device.
Addresses the problem where a frontend lock was observed, but no MPEG
transport data was received.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:32 -03:00
Oliver Endriss b5b168d7b9 V4L/DVB (4493): [lnbp21] release callback fixed
lnbp21 module must use fe->ops.release_sec, not fe->ops.release.
The release function of the frontend driver was never called for cards
with lnbp21...

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:32 -03:00
Patrick Boettcher c6d74c2ce8 V4L/DVB (4481): Make the dibx000-common-module GPL
Forget to put the MODULE-define and thus to give the license. Now GPL

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:31 -03:00
Yeasah Pell ef76856d26 V4L/DVB (4479): LNB voltage control was inverted for the benefit of geniatech cards on Kworld
1) It sets LNBDCPol differently based on the card type. Now it should
work properly for both the kworld and geniatech cards.
2) It stops returning an error for the SEC_VOLTAGE_OFF voltage command
(the cx88-dvb level handles the actual voltage on/off, but it still
passes the ioctl down to the cx24123 level, which previously rejected
the OFF as invalid so the ioctl would report failure)

Acked-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Yeasah Pell <yeasah@schwide.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:14 -03:00
Mauro Carvalho Chehab d93f8860cc V4L/DVB (4477): Improve hardware algorithm by setting the appropriate registers
Hardware algorithm needs to be configured to:
1) Increase timeout constants, to detect weaker signals;
2) do a wider zigzag search.
Acked-by: Manu Abraham <manu@linuxtv.org>

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:51 -03:00
Patrick Boettcher a202a5bfb6 V4L/DVB (4472): Remove debug-print from dib3000mc
Removed and commented a small debug function.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:49 -03:00
matthieu castet 294d83d7fe V4L/DVB (4470): MT2060: turn on the VGA
The VGA was not turned on after calling sleep. This lead to bad performance in difficult areas.

Signed-off-by: matthieu castet <castet.matthieu@free.fr>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:48 -03:00
Patrick Boettcher 4e66c97c92 V4L/DVB: DiB3000MC: set FE to NULL after being freed
DiB3000MC: set FE to NULL after being freed

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:48 -03:00
Patrick Boettcher 42afd06170 V4L/DVB (4461): Added missing dibx000-common code and headers
The first commit omitted the common-code and header-files.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:46 -03:00
Patrick Boettcher b7571f8d7e V4L/DVB: Complete rewrite of the DiB3000mc-driver
A complete rewrite of the DiB3000MC/P driver has been done. It is now much more
easy to maintain and to get improvements inside.

Additionally the tuning time has been reduced and the usage of the driver is
much more understandable now.

Signed-off-by: Patrick Boettcher <pboettcher@dibcom.fr>
Signed-off-by: Francois KANOUNNIKOFF <fkanounnikoff@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:46 -03:00
Patrick Boettcher 74340b0a8b V4L/DVB (4457): Remove dib3000-common-module
removing the dib3000-common-module. The common stuff is not common anymore - it will be only used by the 3000mb-driver.
A new 3000mc/p-driver will be added which will share common stuff with dib7000.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:45 -03:00
Olivier DANET 46f73f9366 V4L/DVB: Update for MT2060 to use dvb_tuner_ops
new tuner api
minor fixes for tuning

Signed-off-by: Olivier DANET <odanet@caramail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:45 -03:00
Patrick Boettcher 83fa907963 V4L/DVB (4454): Corrected debugging output of the mt2060
When debugging was disabled at lot of empty lines where printed anyway.
Reported by Rolf Ahrenberg and Sergei Haller.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:43 -03:00
Patrick Boettcher 825d51ef9e V4L/DVB: MT2060: Code cleanups, adding to new build-mechanism
Some minor code cleanups and added the MT2060 to new v4l-dvb-build-system, preliminarily under dvb/frontends.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:43 -03:00
Patrick Boettcher 4de2730a1d V4L/DVB (4451): MT2060: IF1 Offset from EEPROM, several updates
- AGC gain set to 3
- The tuning sequence has been changed to match the DibCom driver ( from I2C
  spy captures )
- For LITE-ON adapters : The IF1 frequency is now tuned according to the
  calibration values stored in EEPROM.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Olivier DANET <odanet@caramail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:42 -03:00
Patrick Boettcher e4d6c1f74a V4L/DVB: Cleanups for mt2060-integration
- some coding style fixes for newly added mt2060
- moved agc-config from fixed values in dib3000mc to configurable ones
- whitespace clean-ups for usb-id-file

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:41 -03:00
Olivier DANET a16bf5d560 V4L/DVB: Adding support for MT2060 and thus for some DVB-USB-devices based on it
- MT2060 tuner driver
- Added support for some USB DVB-T devices based on Dib3000P

Signed-off-by: Olivier DANET <odanet@caramail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:41 -03:00
Chris Pascoe c162dff643 V4L/DVB (4436): Dvb-pll support for MT352/ZL10353 based tuners.
Typical wiring of MT352 and ZL10353 based tuners differs from dvb-pll's
expectation that the PLL is directly accessible.  On these boards, the
PLL is actually hidden behind the demodulator, and as such can only be
accessed via the demodulator's interface.  It was failing to communicate
with the PLL during an attach test and subsequently not connecting the
tuner ops.
By passing a NULL I2C bus handle to dvb_pll_attach, this accessibility
check can be bypassed.  Do this for the affected boards.  Also fix a
possible NULL dereference at sleep time, which would otherwise be
exposed by this change.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Acked-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Acked-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:38 -03:00
Yeasah Pell 174ff219b7 V4L/DVB (4435): HW algo
Change this card to use HW ALGO tuning

Signed-off-by: Yeasah Pell <yeasah@schwide.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:38 -03:00
Yeasah Pell 18c053b3c5 V4L/DVB (4434): Change BER config
Change the bit error counter configuration to be the actual BER.
Originally it was reporting UCB.

Signed-off-by: Yeasah Pell <yeasah@schwide.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:38 -03:00
Yeasah Pell d12a9b911c V4L/DVB (4433): Soft decision threshold
Set the Soft decision threshold properly for the specified FEC

Signed-off-by: Yeasah Pell <yeasah@schwide.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:37 -03:00
Andrew de Quincey e4a49d76ca V4L/DVB (4428): Fix tda826x detection
The tda826x detection was (correctly) cleaned up earlier, but unfortunately
changing the number of received i2c messages from 2 -> 1 was missed. This
fixes it.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:37 -03:00
Andrew de Quincey 17aafcc67f V4L/DVB (4424): Add missing dvb-pll Kconfig infrastructure
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:36 -03:00
Andrew de Quincey 176ac9da4f V4L/DVB (4405): Add missing KConfig I2C dependencies
This was breaking the build if i2c was not previously set

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:32 -03:00
Andrew de Quincey 8b9a46647b V4L/DVB (4403): Use dprintk in tda826x.
As opposed to printk() at the moment, which will fill logs uselessly

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:32 -03:00
Andrew de Quincey 07e19c20c8 V4L/DVB (4401): Disable tda10086 debug by default.
Left on by accident.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:31 -03:00
Trent Piepho ef09c071a2 V4L/DVB (4400): Tda826x: Remove 0-byte I2C write; put tuner_ops info in static struct
Remove the 0-byte write that precedes 2-byte read.
Move initialize the info field in the static tuner_ops definition, so
that it doesn't need to be done manually.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:31 -03:00
Andrew de Quincey 6bca3580c3 V4L/DVB (4396): Add drivers for tda10086 + tda826x chips
TDA10086 is a new DVB-S demodulator
TDA826x is a DVB-S Silicon Tuner

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:30 -03:00
Andrew de Quincey 2a514dea5f V4L/DVB (4389): Remove duplication _release() op.
I added a duplicate method during one of the previous dvb_attach attempts.
This removes the unnecessary duplication.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Acked-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:26 -03:00
Andrew de Quincey 102a342bb9 V4L/DVB (4387): Add Kconfig infrastructure for dvb_attach
Allow it to be en/disabled
Disable it in < 2.6.17 due to symbol_xxx() bug

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Acked-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:25 -03:00
Andrew de Quincey 2bfe031df6 V4L/DVB (4386): Convert DVB devices to use dvb_attach()
Only devices using > 1 frontend were ported; ones which did not are left
using static binding.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Acked-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:25 -03:00
Andrew de Quincey c10d14d62d V4L/DVB (4384): Remove remaining static function calls
Rewrote _write() calls to use write() op.

Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Acked-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 11:53:24 -03:00