This caused compilation to fail - completely replaced by new style
functions, so can be removed.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
For some reason, some of these cards have the tda10021 configured to a
different address. This adds support for such cards
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The tda10086 causes an oops (divide by zero) if a zero symbol rate is used;
this prevents this.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Fixes to DISEQC on these cards inadvertently broke normal tone/voltage
signalling. This restores the necessary function.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I've just determined that module-init-tools >=3.2 is needed for dvb_attach
to work. This adds a comment to Kconfig about it.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I had forgotten to add the wrapper round the tua6100_attach function if its
disabled in Kconfig
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Port budget-av to use the new tua6100 driver
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
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 <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This actually needs the same configuration as the other DVBC cards; simply
no one had managed to test before to find out.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
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 <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This was breaking the build if i2c was not previously set
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
As opposed to printk() at the moment, which will fill logs uselessly
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I missed one call during the dvb_attach() development.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Add the necessary code and makefile infrastructure
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
TDA10086 is a new DVB-S demodulator
TDA826x is a DVB-S Silicon Tuner
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Move the call to dst_attach into the dst_attach function to eliminate
problems caused with dvb_attach.
Signed-off-by: Andrew de Quincey <[email protected]>
Acked-by: Manu Abraham <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I added a duplicate method during one of the previous dvb_attach attempts.
This removes the unnecessary duplication.
Signed-off-by: Andrew de Quincey <[email protected]>
Acked-by: Trent Piepho <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Only devices using > 1 frontend were ported; ones which did not are left
using static binding.
Signed-off-by: Andrew de Quincey <[email protected]>
Acked-by: Michael Krufky <[email protected]>
Acked-by: Trent Piepho <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Add write() op
Add release_sec() op
Add change misc_priv->sec_priv data field
Acked-by: Michael Krufky <[email protected]>
Acked-by: Trent Piepho <[email protected]>
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Trent Piepho pointed out that the pll test i2c transmission is slightly
wrong; it was transmitting a zero length message, and then reading from the
PLL. This was wrong; it should only be transmitting a single read i2c message.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Supplying a NULL i2c adapter to dvb_pll_attach is allowed, for example with
mt352 demods. However, the pll i2c probe will segfault because it does not
check for this.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
To prevent autoloading of the driver, as it then conflicts with every other
saa7146 device in existence.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
It was pointed out on the mailing list that this PLL definition is broken. I
went back to the original dibusb driver and confirmed it used to use these
settings, as well as consulting the datasheet.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Use the stv0299 native DISEQC implementation instead of the bitbanging one
as required by the ves1893. This was originally found by Oliver Endriss.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Oliver Endriss <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The changes to add frontend reinitialisation moved the position where the
init() op is called into the frontend thread. Unfortunately, since DISEQC
operations do not use the frontend thread, this meant that DISEQC could be
called against an uninitalised frontend, leading to all sorts of trouble.
Patch fixes this by reinstating the original fronted intialisation call.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Some cards have multiple possible addresses for their PLLs, with no other
way to tell if a PLL is present or not apart from probing to see if an i2c
device is present. This adds a quick check to see if an i2c device is
present at the given i2c address.
Signed-off-by: Andrew de Quincey <[email protected]>
Acked-by: Michael Krufky <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The original driver had a restriction that if a card as an saa7113 chip,
then it cannot have a CI interface. This is not the case.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
These cards do not need the tda10021 configuration change when data is
streamed through a CAM module. This disables it for these ones.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I had broken the mt352 tuning when a non-directly connected PLL was used -
uncommon, but this is what is used on the pinnacle card.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Rework diseqc support to be more in line with the other demod drivers.
Fix Nova-S-Plus/Nova-SE2 diseqc.
Cleanup API.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The calls to set the pll ops were in the wrong place - moved them.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
These cards need special handling for CI - reinitialising the frontend
device when the CI module is reset. Additionally the tda10021 needs to be set
into a different transport stream mode when a CI module is present.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I'd missed some of these out, breaking the av7110 tuning. I then checked for
more and added them in where necessary. They may not actually be necessary
in all these locations, but if not, they'll simply have no effect.
Add small delay to stv0299 pll gate control to fix tuning problems.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert lnbp21.h into a linux kernel module.
Fix up previous users to use it.
Convert dvb-ttusb-budget to use it.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Don't try and set the tuner ops if the demod was not detected.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I'd missed the i2c gate ctrl function out of the tda10046, so tuning didn't work
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Johannes Stezenbach suggested this change - definite improvement.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I had forgotten to rename some of the tuner functions in the refactoring.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Trim excess documentation down to the essentials.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Rename pll calls to appropriate tuner calls.
Remove pll functions from demod structures.
Hook tuner call into tuner_ops.
Attach dvb-pll where possible.
Add pll gate control calls where appropriate.
Sort out the hybrid cards to work with the revamped mt352/sl10353 demods
supporting external tuners.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Add no_tuner setting like in mt352.
Update to use correct tuner API calls.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Make it use set_params/pllbuf as appropriate so it works with
dvb_pll_attach()ed tuners.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Rename pll calls to appropriate tuner calls.
Remove pll functions from demod structures.
Hook tuner call into tuner_ops.
Remove BUG_ON() and convert to a soft error.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Rename pll calls to appropriate tuner calls.
Remove pll functions from demod structures.
Hook tuner call into tuner_ops.
Attach dvb-pll where possible.
Add pll gate control calls where appropriate.
Move europa specific code from tda1104x into card driver using ops overrides
(this is how it should ebe done instead of hacking card specific code into
the demod driver).
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert to tuner_ops calls.
Remove pll function pointers from structure.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert to tuner_ops calls.
Remove pll function pointers from structure.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert to tuner_ops calls.
Remove pll function pointers from structure.
Use standardised pllbuf call.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert to tuner_ops calls.
Remove pll function pointers from structure.
Remove unneeded tuner calls.
Standardise the calls used to retrieve tuner data.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Make it call the tuner calls - in case someone wants to use it to develop a
tuner without a demod.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert to tuner_ops calls.
Remove pll function pointer from structure.
Use standardised pllbuf function.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert to tuner_ops calls.
Remove pll function pointers from structure.
Remove unneeded tuner calls.
Add i2c gate control function.
Remove europa specific hack (moved into appropriate card driver)
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert to tuner_ops calls.
Remove pll function pointers from structure.
Remove unneeded tuner calls.
Add i2c gate control function.
Remove extra exported function.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Convert to tuner_ops calls.
Remove pll function pointers from structure.
Remove unneeded tuner calls.
Add i2c gate control function.
Remove extra exported pll gate control function.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Add tuner_ops structure.
Add calls into dvb_frontend to support the new tuner architecture.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Since I reordered the CI/frontend detection, it turns out the frontend needs
to have a GPIO set to power it on; otherwise frontend init fails.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Currently in /sys/class/dvb/dvbX.demuxY/ we have:
dev
uevent
With the patch, we have (for a PCI DVB device):
dev
device -> ../../../devices/pci0000:00/0000:00:1e.0/0000:03:0d.0
uevent
So userspace tools can (finally) work out which physical device a DVB adapter
refers to. Previously you had to kinda look through dmesg and hope that it
hadn't been dumped out of the buffer. This makes debugging a lot easier if
the system has been up for a long time!
This is done by adding an extra 'struct device *' parameter to
dvb_register_adapter(). It will work with any kind of standard
linux 'device'. Additionally, if someone has an embedded system which does
things differently, they can simply supply 'NULL' and the behaviour will be
as before - the link will simply not appear.
Ack'd-by: Manu Abraham <[email protected]>
Acked-by: Michael Krufky <[email protected]>
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
If you have more than DVB_MAX_ADAPTERS in your machine, this causes an oops.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Spotted a couple more places where it fails to check if
dvb_register_adapter() fails.
Signed-off-by: Andrew de Quincey <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>