This patch adds retrieval of firmware and FPGA versions of Genpix devices.
That information is useful for users who experience performance differences
with the various firmware versions, and may want to use a specific firmware
that best suits their needs.
Example dmesg output:
gp8psk: FW Version = 2.09.4 (0x20904) Build 2009/04/02
gp8psk: FPGA Version = 1
Signed-off-by: Derek Kelly <user.vdr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This patch merges the ir_input_dev and ir_dev_props structs into a single
struct called rc_dev. The drivers and various functions in rc-core used
by the drivers are also changed to use rc_dev as the primary interface
when dealing with rc-core.
This means that the input_dev is abstracted away from the drivers which
is necessary if we ever want to support multiple input devs per rc device.
The new API is similar to what the input subsystem uses, i.e:
rc_device_alloc()
rc_device_free()
rc_device_register()
rc_device_unregister()
[mchehab@redhat.com: Fix compilation on mceusb and cx231xx, due to merge conflicts]
Signed-off-by: David Härdeman <david@hardeman.nu>
Acked-by: Jarod Wilson <jarod@redhat.com>
Tested-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
DM04/QQBOX USB Timing change.
Improved timing to avoid USB corruptions on some systems.
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Improved frontend handling.
Frontend now remains open at all times, with signal lock, snr & signal level
polled from Interupt.
Updated driver for DM04/QQBOX USB DVB-S BOXES to version 1.70.
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Changeset 1724c8fa7e added an option to change
the maximum I2C size to 8 bytes. However, it forgot to replace the previous
usage at af9015 to use the newly defined macro value
(TDA18271_16_BYTE_CHUNK_INIT).
A latter changeset (e350d44fed) extended the
possible values for .small_i2c field and, instead of using a random sequence
of numbers, it used a number that makes more sense (e. g. the actual limit,
in terms of bytes).
However, as af9015 were using .small_i2c = 1, this become undefined, and the
restriction of a max size of 16 was gone.
While here, fix the reported msg size at tda18271-common.c.
Reported-by: Jiri Slaby <jirislaby@gmail.com>
Tested-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
It is AF9015+AF9013+2xMXL5007T.
Tanks to Bernard Giannetti and DigitalNow for the help!
Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: Renura Enterprises Pty Ltd <renura@digitalnow.com.au>
Cc: Bernard Giannetti <thebernmeister@hotmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Read all remote controller registers at once to reduce USB remote polling traffic.
Use .rc_codes() to disable / enable remote polling instead of .rc_query().
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
These include
-later kill of usb_buffer to avoid kernel crash on hot unplugging.
-DiSEqC functions.
-LNB Power switch
-Faster channel change.
-support for LG tuner on LME2510C.
-firmware switching for LG tuner.
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This patches adjusts the tuner delay to be longer in response to
several users experiencing tuner timeouts. This change fixes that
problem and allows those users to be able to tune.
Signed-off-by: Derek Kelly <user.vdr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This patch updates the name of the dvb-usb-gp8psk driver
from "Genpix 8psk-to-USB2 DVB-S" to "Genpix DVB-S".
The old name doesn't reflect newer devices such as the
Skywalker line which also user this driver.
Signed-off-by: Derek Kelly <user.vdr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
gp8psk: Add support for the Genpix Skywalker-2 per user requests.
Patched against git.
Signed-off-by: Derek Kelly <user.vdr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Detection class I2C_CLASS_TV_DIGITAL is set by many adapters but no
I2C device driver is setting it anymore, which means it can be
dropped. I2C devices on digital TV adapters are instantiated
explicitly these days, which is much better.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Use new RC core instead of old legacy RC implementation.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Variable is don't care in that case. No need to set value.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
The AVerTV Red HD+ (A850T) is basically the same as the existing
AVerTV Volar Black HD (A850), but is specific to the french market.
The A850T identifies itself as a A850, but has its own PID. It even
suffers from the same EEPROM deficiencies.
This is based off a collection of information gathered from the
french support forums for Ubuntu, which I tried to properly format
into this patch:
http://forum.ubuntu-fr.org/viewtopic.php?pid=3322825
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Remove HID and polling via firmware API. Implement direct access to remote codes via memory read and write.
HID and polling via firmware api never worked 100% well and there was also some limitations which tied used remote and device together.
After that it is possible to use upcoming kernel remote controller core.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Detect TerraTec Cinergy T Stick Dual RC remote config using device
USB ID instead of device EEPROM hash. It was found that there is
devices with slightly different EEPROM content...
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Add USB ID [0ccd:0099] for TerraTec Cinergy T Stick Dual RC.
Device is based for AF9015 + AF9013 + 2 x MxL5007T chips.
Thanks to the TerraTec!
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Commit 490ade7e3f4474f626a8f5d778ead4e599b94fbc merge conflict fix
leads situation where last nine device definitions were overridden mistakenly.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Adding the USB ID for my TerraTec Electronic GmbH Cinergy T RC MKII
[0ccd:0097] and hooking it up into af9015, on top of your new NXP TDA18218
patches, makes it work for me.
Just the shipped IR remote control doesn't seem to create keycode events
yet (tested with different remote=%d parameters), are there any hints to
add support for that?
[ 2.250022] usb 1-10: new high speed USB device using ehci_hcd and address 5
[ 2.369287] usb 1-10: New USB device found, idVendor=0ccd, idProduct=0097
[ 2.369290] usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.369293] usb 1-10: Product: USB2.0 DVB-T TV Stick
[ 2.369294] usb 1-10: Manufacturer: NEWMI
[ 2.369296] usb 1-10: SerialNumber: 010101010600001
[ 2.534023] usbcore: registered new interface driver hiddev
[ 2.537235] input: NEWMI USB2.0 DVB-T TV Stick as /devices/pci0000:00/0000:00:02.1/usb1/1-10/1-10:1.1/input/input0
[ 2.537323] generic-usb 0003:0CCD:0097.0001: input,hidraw0: USB HID v1.01 Keyboard [NEWMI USB2.0 DVB-T TV Stick] on usb-0000:00:02.1-10/input1
[ 2.537349] usbcore: registered new interface driver usbhid
[ 2.537351] usbhid: USB HID core driver
[ 3.263177] generic-usb 0003:04D9:1603.0002: input,hidraw1: USB HID v1.10 Keyboard [ USB Keyboard] on usb-0000:00:02.0-8.1/input0
[ 3.286946] generic-usb 0003:04D9:1603.0003: input,hidraw2: USB HID v1.10 Device [ USB Keyboard] on usb-0000:00:02.0-8.1/input1
[ 3.467136] generic-usb 0003:046D:C050.0004: input,hidraw3: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:02.0-8.2/input0
[ 3.660890] generic-usb 0003:10D5:000D.0005: input,hidraw4: USB HID v1.10 Keyboard [No brand SP02-A1] on usb-0000:00:02.0-8.3/input0
[ 5.567632] dvb-usb: found a 'TerraTec Cinergy T Stick RC' in cold state, will try to load a firmware
[ 5.693497] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[ 5.773109] dvb-usb: found a 'TerraTec Cinergy T Stick RC' in warm state.
[ 5.773168] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 5.774290] DVB: registering new adapter (TerraTec Cinergy T Stick RC)
[ 6.007696] af9013: firmware version:5.1.0
[ 6.010843] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 6.032697] tda18218: NXP TDA18218HN successfully identified.
[ 6.034442] dvb-usb: TerraTec Cinergy T Stick RC successfully initialized and connected.
[ 6.040612] usbcore: registered new interface driver dvb_usb_af9015
[mchehab@redhat.com: Fix merge conflict with another board addition]
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Making static data const avoids allocation of additional r/w memory and
reduces initialisation time. It also provides some additional opportunities
for compiler optimisations.
Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
To improve performance on DiB7770-devices enabling the current mirror
is needed.
This patch adds an option to the dib7000p-driver to do that and it
creates a separate device-entry in dib0700-device to use those changes
on hardware which is using the DiB7770.
Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
As reported by Anton Blanchard <anton@samba.org>, double IR events on
2.6.36-rc2 and a DViCO FusionHDTV DVB-T Dual Express are happening:
[ 1351.032084] ir_keydown: i2c IR (FusionHDTV): key down event, key 0x0067, scancode 0x0051
[ 1351.281284] ir_keyup: keyup key 0x0067
ie one key down event and one key up event 250ms later.
So, we need to increase the repeat timeout, to avoid this bug to hit.
As we're doing it at core, this fix is not needed anymore at dib0700 driver.
Thanks-to: Anton Blanchard <anton@samba.org>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
As reported by Carlos, Prolink Pixelview SBTVD Hybrid is based on
Conexant cx231xx + Fujitsu 86A20S demodulator. However, both shares
the same USB ID. So, we need to use USB bcdDevice, in order to
properly discover what's the board.
We know for sure that bcd 0x100 is used for a dib0700 device, while
bcd 0x4001 is used for a cx23102 device. This patch reserves two ranges,
the first one from 0x0000-0x3f00 for dib0700, and the second from
0x4000-0x4fff for cx231xx devices.
This may need fixes in the future, as we get access to other devices.
Thanks-to: Carlos Americo Domiciano <c_domiciano@yahoo.com.br>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
"fw" is always a non-NULL pointer at this point, and anyway
release_firmware() accepts NULL pointers.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Simplifies the logic for handling firmware 1.20 RC messages, fixing the
logic.
While here, I tried to use a RC-6 remote controller from my TV set, but it
didn't work with dib0700. Not sure why, but maybe this never worked.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This patch implements change_protocol callback. With this change,
there's no need for an extra modprobe parameter to specify the
protocol. When a table is loaded (either from in-kernel rc-map
tables or via ir-keytable program), the driver will automatically
change the protocol, in order to work with the given table.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Instead of having one big keytable with 2 protocols inside, break it
into two separate tables, being one for NEC and another for RC-5 variants,
and properly identify what variant should be used at the boards entries.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
a 250ms delay is too low for this device. It ends by producing false
repeat events. Increase the delay time to 500 ms to avoid troubles.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Allows dvb-usb drivers to use rc-core, instead of the legacy
implementation.
No driver were ported yet to rc-core, so, some small adjustments
may be needed, when starting to migrate the drivers.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This is a big patch, yet trivial. It just move the RC properties
to a separate struct, in order to prepare the dvb-usb drivers to
use rc-core. There's no change on the behavior of the drivers.
With this change, it is possible to have both legacy and rc-core
based code inside the dvb-usb-remote, allowing a gradual migration
to rc-core, driver per driver.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
dvb-usb has its own IR handle code. Now that we have a Remote
Controller subsystem, we should start using it. So, remove this
struct, in favor of the similar struct defined at the RC subsystem.
This is a big, but trivial patch. It is a 3 line delect, plus
lots of rename on several dvb-usb files.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Add USB ID 07ca:815a for AverMedia AVerTV Volar M (A815Mac).
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Smatch complained because "d" is dereferenced first and then checked for
null later . The only code path where "d" could be a invalid pointer is
if this is a cold device in dvb_usb_device_init(). I consulted Antti
Palosaari and he explained that anysee is always a warm device.
I have added a comment and removed the unneeded null check.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
I started fixing one or two lines, but after a while I got into a groove
and started changing everything. I left the lines longer than 80
characters because that seemed to be the style in this file.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Some (North American) providers use a non-standard mode called
"8psk turbo fec". Since there is no flag in the driver that
would allow an application to determine whether a particular
device can handle "turbo fec", the attached patch introduces
FE_CAN_TURBO_FEC.
Since there is no flag in the SI data that would indicate
that a transponder uses "turbo fec", VDR will assume that
all 8psk transponders on DVB-S use "turbo fec".
Tested-by: Derek Kelly <user.vdr@gmail.com>
Signed-off-by: Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>