The old code would accept any device on the same i2c address as the
saa711x chips as an saa711x. However, this fails with saa717x chips,
which use that same address and so are misdetected as a saa7111. Now
check whether the chip is really a saa711x model.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Sparse noticed a lock imbalance in read_from_buf(). Further inspection shows
that the lock should not be held when the function exits.
This adds a spin_unlock_irqrestore(), so that every exit path of the
read_from_buf() function is consistent. The unlock was missing on an error
path.
Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
Signed-off-by: Hans J. Koch <koch@hjk-az.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
New module parameter diseqc_method for cards with subsystem-id 13c2:1003.
- 0: unreliable method, can be used by all board revisions (default)
- 1: reliable method, works for newer board layouts only
The parameter has no effect for cards with other subsystem-ids.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Fixes to DISEQC on these cards inadvertently broke normal tone/voltage
signalling. This restores the necessary function.
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
.. fix debug printk. Why, oh why, one would want to do
(u16 & 0xff) << 8
and print it with %02x format?
Acked-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Fix uses of "&&" where "&" was intended in bttv-cards.c and tveeprom.c
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This changes it from TDA8290 which is allegedly very unlikely to TD1316 which
is allegedly very likely. I didn't get it to work with either, but expected
that this got applied when Mauro sent it to me, so here it goes again; feel
free to drop it to the floor. :-)
Signed-off-by: Petr Baudis <pasky@ucw.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The remote as well as the GPIO interface is the same as what comes with 777.
For an example of mplayer lirc configuration, see
http://pasky.or.cz/~pasky/dev/v4l/lircrc
Signed-off-by: Petr Baudis <pasky@ucw.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
I didn't test it personally since I don't have this card, but A16AR uses the
same interface and that one certainly does work perfectly (see the next patch).
This patch was originally sent in
http://marc.theaimsgroup.com/?l=linux-video&m=114743413825375&w=2https://www.redhat.com/mailman/private/video4linux-list/2006-May/msg00103.html
but never got applied. This version has some trivial modifications and drops
the weird gpio hack (it's not clear what practical purpose does it serve).
Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/saa7110.c:112: undefined reference to `i2c_master_send'
drivers/built-in.o: In function `saa7110_read':
drivers/media/video/saa7110.c:130: undefined reference to `i2c_smbus_read_byte'
drivers/media/video/saa7110.c:130: undefined reference to `i2c_smbus_read_byte'
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
fix remote control on WinFast 2000XP Expert by setting timing back to 1 ms,
like it was in the original patch by Robert Reid.
Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
TT DVB-C 2300 runs at 137 kHz I2C speed. short_delay mode did not work
reliably on fast machines with that speed. Increased max loop count from
20 to 50. Moved dummy access out of the loop.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The board did not return to analog mode since the board specific
"demod sleep" function was not called.
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Technotrend 1500 T card have "inverted inversion". This patch fixes that.
Many thanks to Martin Zwickel from Technotrend for his confirmation and
correction proposal.
Signed-off-by: Raymond Mantchala <raymond.mantchala@streamvision.fr>
Signed-off-by: Perceval Anichini <perceval.anichini@streamvision.fr>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Fix sparse NULL usage warnings:
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:714:14: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:715:16: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:1079:10: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c:224:58: warning: Using plain integer as NULL pointer
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The IR chip has no address decoding, so the IR data is always present in
the high byte when doing a read from the saa7146 chip. This means that
the DEBI address used is irrelevant to the IR decoding logic.
DEBI addresses 0x1XXX are mapped to the registers on the CI module
itself, but only the lowest two bits are actually used (see EN50221,
section A.2.2.1), meaning that 0x1234 is equivalent to 0x1000 which maps
to register 0 (the data register). A read from the data register is
supposed to be preceded by a read from the size register, so some CI
modules will be confused (the AlphaCrypt CAM will hang completely).
The attached patch changes the address used when reading the IR data to
use 0x4000 instead. This is the CI version address, which is a safer
default, works with the AlphaCrypt CAM and matches the behaviour of the
Windows driver (AFAIK).
Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
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>
When using the remote control with the Nova-T USB there was an Oops because of
the recent DVB-USB-Adapter change.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Contrary to all expections the Samsung TCPN2121P30A tuner does
NOT have a tda9887. Remove the tda9887 flag from the tuner
definition.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The call to v4l2_std_construct() in the VIDIOC_G_PARM handler treats
vfd->current_norm as if it were an index - but it's not. The result is
an oops if the driver has no vidioc_g_parm() method defined. Here's the
fix.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The dbgarg() macro in videodev.c contains some printk() statements
where only the first one is influenced by an if-statement. This causes
floating with debug-messages which is fixed by this patch by adding a
'{ ... }' pair.
Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Without the attached trivial patch, the saa7113 is set up for PAL when SECAM
is selected and hence will see only show black and white for SECAM signals.
Tested the patch against the saa7115 module in linux-2.6.17 with a
Pinnacle 50e USB tuner (em28xx).
Signed-off-by: Pádraig Brady <P@draigBrady.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Check the return value of kmalloc() in function frontend_init(),
in file drivers/media/dvb/bt8xx/dvb-bt8xx.c.
Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Looks like the pvrusb2 menu items were accidentally removed in
git commit 1450e6bedc
This patch restores the menu items so that the pvrusb2 driver can be built.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
VIDIOC_G_FMT returned the sliced VBI types in the wrong lines for NTSC
(three lines too low).
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch adds readout for stereo and signal level for
saa713x cards which use the saa713x as FM demodulator.
These are many cards based on saa7133, tda8290 and tda8275a.
FM channel search should work now.
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
parisc (and several other architectures) don't have a dma_address in their
sg list. Use the macro instead.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The WinTV-HVR3000 is currently defined for analog support only. This
patch adds full DVB-T support. (DVB-S support will be added soon)
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- Eliminate casts to/from void*
- Eliminate checks for conditions that never occur. These typically
fall into two classes:
1) Checking for 'dev_id == NULL', then it is never called with
NULL as an argument.
2) Checking for invalid irq number, when the only caller (the
system) guarantees the irq handler is called with the proper
'irq' number argument.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
of passing regs around manually through all ~1800 interrupt handlers in the
Linux kernel.
The regs pointer is used in few places, but it potentially costs both stack
space and code to pass it around. On the FRV arch, removing the regs parameter
from all the genirq function results in a 20% speed up of the IRQ exit path
(ie: from leaving timer_interrupt() to leaving do_IRQ()).
Where appropriate, an arch may override the generic storage facility and do
something different with the variable. On FRV, for instance, the address is
maintained in GR28 at all times inside the kernel as part of general exception
handling.
Having looked over the code, it appears that the parameter may be handed down
through up to twenty or so layers of functions. Consider a USB character
device attached to a USB hub, attached to a USB controller that posts its
interrupts through a cascaded auxiliary interrupt controller. A character
device driver may want to pass regs to the sysrq handler through the input
layer which adds another few layers of parameter passing.
I've build this code with allyesconfig for x86_64 and i386. I've runtested the
main part of the code on FRV and i386, though I can't test most of the drivers.
I've also done partial conversion for powerpc and MIPS - these at least compile
with minimal configurations.
This will affect all archs. Mostly the changes should be relatively easy.
Take do_IRQ(), store the regs pointer at the beginning, saving the old one:
struct pt_regs *old_regs = set_irq_regs(regs);
And put the old one back at the end:
set_irq_regs(old_regs);
Don't pass regs through to generic_handle_irq() or __do_IRQ().
In timer_interrupt(), this sort of change will be necessary:
- update_process_times(user_mode(regs));
- profile_tick(CPU_PROFILING, regs);
+ update_process_times(user_mode(get_irq_regs()));
+ profile_tick(CPU_PROFILING);
I'd like to move update_process_times()'s use of get_irq_regs() into itself,
except that i386, alone of the archs, uses something other than user_mode().
Some notes on the interrupt handling in the drivers:
(*) input_dev() is now gone entirely. The regs pointer is no longer stored in
the input_dev struct.
(*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
something different depending on whether it's been supplied with a regs
pointer or not.
(*) Various IRQ handler function pointers have been moved to type
irq_handler_t.
Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
drivers/media/dvb/dvb-usb/usb-urb.c: In function 'usb_allocate_stream_buffers':
drivers/media/dvb/dvb-usb/usb-urb.c:125: warning: format '%u' expects type 'unsigned int', but argument 4 has type 'long long unsigned int'
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The module_exit function has return-type void and
pci_unregister_driver() returns void anyway.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The VIDEO_V4L2 config setting is enabled unconditionally, even for
configurations with no support for this subsystem whatsoever. The
following patch adds the necessary dependency.
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The variable fixup could be used uninitialized.
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This is a analog DVB-T hybrid board
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch forces the correct antenna input input in DVB-T
mode for this card.
Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This change fixes the following issues:
- resolve the SECAM D/K vs SECAM-L sound conflict
It is now possible to select the SECAM version either by the VIDEOIOC_S_STD
IO control or by the new secam= insmod option.
The driver now adapts its audio standard search list to the selected
standard.
- don't trigger a sound standard search when a LINE input is selected.
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Support for DiB7000M frontend were not included on 2.6.19, since still not
completed. Removing Kconfig item.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (39 commits)
Add missing maintainer countries in CREDITS
Fix bytes <-> kilobytes typo in Kconfig for ramdisk
fix a typo in Documentation/pi-futex.txt
BUG_ON conversion for fs/xfs/
BUG_ON() conversion in fs/nfsd/
BUG_ON conversion for fs/reiserfs
BUG_ON cleanups in arch/i386
BUG_ON cleanup in drivers/net/tokenring/
BUG_ON cleanup for drivers/md/
kerneldoc-typo in led-class.c
debugfs: spelling fix
rcutorture: Fix incorrect description of default for nreaders parameter
parport: Remove space in function calls
Michal Wronski: update contact info
Spelling fix: "control" instead of "cotrol"
reboot parameter in Documentation/kernel-parameters.txt
Fix copy&waste bug in comment in scripts/kernel-doc
remove duplicate "until" from kernel/workqueue.c
ite_gpio fix tabbage
fix file specification in comments
...
Fixed trivial path conflicts due to removed files:
arch/mips/dec/boot/decstation.c, drivers/char/ite_gpio.c
Now that devfs is removed, there's no longer any need to document how to
do this or that with devfs.
This patch includes some improvements by Joe Perches.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
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>
Adding support for Nova-T-PCI PCI ID 0070:9000
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The msp3430G and msp3435G models cannot do Automatic Standard Detection.
So these should be forced to BTSC. These chips are early production versions
for the msp34xxG series and are quite rare.
The workaround for kernel 2.6.18 is to use 'standard=32' as msp3400
module option. Due to broken handling of the 'standard' option in 2.6.17 there is
no workaround possible for that kernel.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Add support for DViCO FusionHDTV DVB-T Dual Digital 2 USB, which
is identical to the usb portion of DViCO FusionHDTV DVB-T Dual Digital 1.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Using a double cast to avoid compiler warnings when building for PAE.
Compiler doesn't like direct casting of a 32 bit ptr to 64 bit integer.
Signed-off-by: Martin J. Bligh <mbligh@google.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Remove defines of FALSE/TRUE because they are not used.
Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Removed norm_notchfilter function. All the code is bound to 4 x FSC, so, any
other filter won't work fine.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch changes the setting of the cx2388x notch filter to match that of
the video capture sample frequency, removing some annoying interference
lines THAT would appear when capturing composite video. This has been tested
in PAL and NTSC TV norms.
It sets the Y/C separation luma notch filter, which removes the chroma signal
from the luma signal when using a composite input.
The luma notch filter operates at the video decoder's frequency, not the ADC's
frequency or at the frequency of the scaled video. Y/C separation happens after
the sample rate converter, before video scaling.
The datasheet provides plots of the filter response for three _video decoder_
frequencies, 4x Fsc, square pixel, and ccir601. These are the same three
frequencies for the notch filter control. It seems pretty clear that this
filter should be set based on the video decoder frequency. The cx88 driver
always uses a video decoder frequency of 4xFsc.
Signed-off-by: Lars Gjesse Kjellberg <lars.g.kjellberg@get2net.dk>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
A fix for intermittent oops's during boot which occurs
in cx88_call_i2c_clients when dvb_attach is bringing up
the frontend.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Use NULL instead of 0 for pointer value, eliminate sparse warnings.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This adds support for a hybrid PAL/DVB/FM card. Unfortunately I tested
only the DVB since I don't have any proper antenna available and I can
receive even the DVB just barely so; I can hear noise in the FM part but I
couldn't catch any station, then again I don't have an FM antenna either.
The PAL/FM and IR control data are based on what I harvested on the 'net.
Perhaps I or someone else will fix them if they turn out to be wrong.
Signed-off-by: Petr Baudis <pasky@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The RC5 coding has for a long time supported commands 64-127 in addition
to 0-63. This is controlled by the second bit of the RC5 packet (see
The attached patch modifies ir-kbd-i2c.c to allow for commands 64-127,
tested with a PVR350 card in combination with a programmable remote.
Signed-off-by: David Hardeman <david@hardeman.nu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The Club3D Zap TV2100 has been reported to be a clone of the Yuan PG300 and
KWorld/VStream XPert DVB-T with cx22702
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The flags for mpeg capabilities are sub-optimally named as
CX88_BOARD_DVB and CX88_BOARD_BLACKBIRD, which creates some confusion.
This patch renames the above to CX88_MPEG_DVB and CX88_MPEG_BLACKBIRD.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Some basic cleanup in preperation for a future patch where
the cx88-mpeg functions have to deal with the port being
used by multiple frontends in (mpeg2 hw encoder and dvb demod).
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
A generic change to cards to allow any board to specify whether
it needs the wm8775 module loaded (by the core) or not.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch enables generic bus arbitration callbacks enabling
dvbcore frontend_open and frontend_release to pass 'acquire'
and 'release' hardware messages back into the DVB bridge frameworks.
Frameworks like cx88 can then implement single bus multiple demod
card sharing features, which would prohibit two frontends from attempting
to use a single transport bus at the same time.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The function prototype needed in pvrusb2-v4l2.c has been moved to
v4l2-dev.h. Track that change.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
A previous attempt to deal with the upcoming loss of
video_set_drvdata() and video_get_drvdata() resulted in logic which
causes a circular locking dependency - also known as a deadlock. This
changeset attacks the problem in a different manner, using a technique
that no longer requires the problematic mutex (or that private global
array either).
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Implement VIDIOC_INT_SET_REGISTER and VIDIOC_INT_GET_REGISTER for the
pvrusb2 driver. This is a debugging aid which will not be enabled
unless CONFIG_VIDEO_ADV_DEBUG has been enabled.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The CONFIG_VIDEO_PVRUSB2_24XXX is not nearly as "experimental" as the
description suggests. So refine the description to better match reality.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Rearranged itens, so that decoders came first;
cx25840 is, in fact, an audio and video decoder;
Fixed some incorrect upercases;
Removed the word "chip" for some audio processors at item name;
Removed the word "driver" for some item names;
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Corrected power control of the device for dual boards
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
When converting the dib3000mc-driver to dvb_attach I forgot to invert the check for NULL.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Added a module parameter for force the activation of any LNA on a board.
Suggest by Steve Toth.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- 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>
- 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>
Adding another USB product ID for the Nova-T 500. Reported by Jose Alberto Reguero.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The fixed support for the VP70x (supports only StarBox2) is now in sync with
latest changes in the dvb-usb framework.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Added module for DiB0700 based USB devices. This module is preliminary and
untested (because of a lack of test devices) but should work.
Further commits will be necessary to make it work properly.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Forgot to add usb-urb.c which is new after adding support for multiple inputs
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Small fix for multi input for dtt200u module.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch is the first commit of the Multiple Input Patch for the DVB-USB frame
work.
It changes the DVB-USB-device to be able to have more than one streaming input
(e.g. multiple DVB-T sources) on one device. This is a necessary feature for
the upcoming DiB7700 driven devices.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The last in-kernel user of errno is gone, so we should remove the definition
and everything referring to it. This also removes the now-unused lib/execve.c
file that was introduced earlier.
Also remove every trace of __KERNEL_SYSCALLS__ that still remained in the
kernel.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Andi Kleen <ak@muc.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ian Molton <spyro@f2s.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Hirokazu Takata <takata.hirokazu@renesas.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Cc: Richard Curnow <rc@rc0.org.uk>
Cc: William Lee Irwin III <wli@holomorphy.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
Cc: Chris Zankel <chris@zankel.net>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch defines:
* a generic boolean-type, named 'bool'
* aliases to 0 and 1, named 'false' and 'true'
Removing colliding definitions of 'bool', 'false' and 'true'.
Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (180 commits)
V4L/DVB (4641): Trivial: use lowercase letters in hex subsystem ids
V4L/DVB (4639): Cx88: add autodetection for alternate revision of Leadtek PVR
V4L/DVB (4638): Basic DVB-T and analog TV support for the HVR1300.
V4L/DVB (4637): Add a default method for VIDIOC_G_PARM
V4L/DVB (4635): Extend bttv and saa7134 to check for both AGP and PCI PCI failure case
V4L/DVB (4634): Zr36120: implement pcipci checks
V4L/DVB (4632): Zoran: Implement pcipci failure check
V4L/DVB (4631): Av7110: remove V4L2_CAP_VBI_CAPTURE flag
V4L/DVB (4630): Av7110: FW_LOADER depemdency fixed
V4L/DVB (4629): Saa7134: add card support for Proteus Pro 2309
V4L/DVB (4628): Fix VIDIOC_ENUMSTD ioctl in videodev.c
V4L/DVB (4627): Vivi crashes with mplayer
V4L/DVB (4626): On saa7111/7113, LUMA_CTRL need a different value
V4L/DVB (4624): Tvaudio: Replaced kernel_thread() with kthread_run()
V4L/DVB (4622): Copy-paste bug in videodev.c
V4L/DVB (4620): Fix AGC configuration for MOD3000P-based boards
V4L/DVB (4619): Fixes some I2C dependencies on V4L devices
V4L/DVB (4617): Problem with dibusb-mb.c USB IDs
V4L/DVB (4616): [PATCH] Nebula DigiTV USB RC support
V4L/DVB (4614): Export symbol saa7134_tvaudio_setmute from saa7134 for saa7134-alsa
...
The purpose of this patch is to split off the case when a device does
not reply on the lower level (which is reported by HC hardware), and
a case when the device accepted the request, but does not reply at
upper level. This redefinition allows to diagnose issues easier,
without asking the user if the -110 happened "immediately".
The usbmon splits such cases already thanks to its timestamp, but
it's not always available.
I adjusted all drivers which I found affected (by searching for "urb").
Out of tree drivers may suffer a little bit, but I do not expect much
breakage. At worst they may print a few messages.
Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
i2c-algo-bit: Discard the mdelay data struct member
The i2c_algo_bit_data structure has an mdelay member, which is not
used by the algorithm code (the code has always been ifdef'd out.)
Let's discard it to save some code and memory.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Cc: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Add autodetection for PCI subsystem ID 107d:6632, to detect as
a Leadtek PVR 2000
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This is the first in a series of patches to add full WinTV-HVR1300
support to Linux. This first patch will enable analog TV support
and DVB-T support. Later patches will add the hardware MPEG encoder
support.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
For most drivers, VIDIOC_G_PARM will just return the current standard fps.
So, instead of failing, drivers based on video_ioctl2 will implement the
default method.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
We could go and work out if the target object is AGP or PCI but the
corner case of an Athlon 64 era box with PCI video is sufficiently
unusual it doesn't seem worth the extra work, at least until other cases
if any pop up.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Again depends on the PCIAGP_FAIL patch for a define. Someone with more
card knowledge should look at the ALIMAGIK case and whether latency can
be safely to set to 0xA or so.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
We should be doing this on all devices doing PCI<->PCI DMA. We only set
the _FAIL ones when the DMA will fail or may cause crashes. This relies
on the PCIAGP_FAIL patch I sent to Andrew already
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Implement fix suggested by Michael Hunold for a bug reported
by Philipp Matthias Hahn: Starting "kdetv" on a Siemens DVB-C 1.x
produced an oops because kdetv opened "/dev/vbi0".
Remove the V4L2_CAP_VBI_CAPTURE flag because it does not work with
this type of hardware anyway.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Do not select FW_LOADER unless it is really required.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Add card support for Proteus Pro 2309, based on saa7130 bridge
Signed-off-by: Michal Majchrowicz <mmajchrowicz@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Do not return -EINVAL for index=0 in VIDIOC_ENUMSTD, because it is a
valid index
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The vivi.current_norm field is not initialized in vivi.c, so a
VIDIOC_G_STD ioctl without a prior call to VIDIOC_S_STD gives
unpredictable results. mplayer does exactly this.
Signed-off-by Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Replaced kernel_thread() with kthread_run() since kernel_thread() is
deprecated in drivers/modules.
Removed the completion and the wait queue which are now useless with
kthread. Also removed the allow_signal() call as signals don't apply
to kernel threads.
Fixed a small race condition when thread is stopped.
Please check if the timer vs. thread still works fine without the wait
queue.
Signed-off-by: Cedric Le Goater <clg@fr.ibm.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch fixes a copy-paste bug in videodev.c where the vidioc_qbuf()
function gets called for the dqbuf ioctl.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
While converting the configuration for the old DiB3000MC-module to the new one
a wrong AGC configuration was introduced.
This is using the old one again.
Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
There seems to be an off by one error in the dibusb-mb.c which causes
the "Artec T1 with AN2235" box to be detected as a totally different
box - but it only happens if the Artec is one with the correct USB
IDs. A patch is attached to the second post. However, even with this
patch, the box still won't tune. It will tune using a 2.6.12 kernel
though.
Signed-off-by: Alistair Buxton <a.j.buxton@gmail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Attached is a patch against latest HG which adds remote control support
to the DigiTV driver. It works for me;
Signed-off-by: Allan Third <allan.third@gmail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
saa7134-alsa now unmutes/mutes the line when opening/closing the capture
device, and needs this symbol
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch should enable unmuting the audio device when opening it (and
posterior muting when closing it), doing away with the need for unmute ioctls
or v4lctl usage.
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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 <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Software I2C were using a very conservative value of udelay=16, meaning about
20Kbps. According with Philips I2C datasheet, the i2c should answer well for
times at the order of 4.7 us. So, using udelay=5 should work for all devices.
After this patch, the speed should be close to 66,67 Kbps, with the current
kernel software bitbang, with 30/60 duty cycle.
Anyway, added a new parameter (i2c_udelay) that would allow using conservative
values, if eventually a hardware doesn't support the datasheet values.
Thanks to Jean Delvare <khali@linux-fr.org> for pointing this improvement.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Port budget-av to use the new tua6100 driver
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Fix broken build when 24XXX support is not selected. This is required
due to the requirement of removing 24XXX ifdef's from the driver
source.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Trivial patch to make Compro PS39U WebCam work with linux by using the
vicam driver.
The camera is just a vicam with another USB ID, so I added that ID to the
driver, and it works now.
Signed-off-by: Bas Bloemsaat <bas.bloemsaat@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The pvrusb2 driver resolution limits are now programmed the following
way, based on empirical measurements of the hardware:
Vertical max: 480 for NTSC, 576 otherwise
Vertical min: 75 for 24xxx, 17 otherwise
Horizontal max: 720
Horizontal min: 720 for 24xxx, 19 otherwise
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This repairs a problem introduced by a commit earlier applied.
Thanks-to: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Support for 24xxx devices was previously explicitly bracketed with
CONFIG_VIDEO_PVRUSB2_24XXX inside the code because we didn't trust the
stability of these changes. We trust it now; so there's no reason to
leave this out of the driver anymore.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Scaling were not working fine;
Some reserved registers were wrong;
On some situations, saa7115 were not properly being initializated.
Removed some duplicated code.
Thanks-to: Hans Verkuil <hverkuil@xs4all.nl> for co-working on this
patch.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch fixes the physical address and takes into account recent
changes in the USB input subsystem.
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Unai Uribarri <unaiur@gmail.com>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
saa7115 module is capable of calculating the proper FIR tables.
However, there were 4 hardcoded tables for the standard resolution.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Adjust temporal filter if necessary. The problem with the temporal
filter is that it works well with full resolution capturing, but
not when the capture window is scaled (the filter introduces
a ghosting effect). So if the capture window changed, and there is
no updated filter value, then the filter is set depending on whether
the new window is full resolution or not.
For full resolution a setting of 8 really improves the video
quality, especially if the original video quality is suboptimal.
Also report VBI Format in VIDIOC_LOG_STATUS, it was missing.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The extra argument makes it possible to reset subsystems of a chip if
that is supported.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Add a tuner config parameter for TDA9887, default_pll_gating_18, that
changes the L standard PLL gating value from 36% to 0% (datasheet says
0%, tda9887 code says 18%).
Turn this on for Microtune 4049FM5, as recomended by tuner datasheet.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
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>
After some structural changes, here comes the updated patch for the Club 3D
zap250mini USB dvb device.
Adding support for a WideView-based device with a different "COLD" ID.
Signed-off-by: Jochen Issing <jochen.issing@isign-softart.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
There are several boards on V4L that can work with several different
helper modules for audio/video encoding/decoding and similar stuff.
This patch adds the capability of choicing between autoselecting the
pertinent helper modules for each driver, or to manually selecting
them.
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Several audio/video encoders/decoders were just bound as if they were
part of the core driver.
In fact, they are generic enough to be used by other drivers as well,
since they use I2C event bus to communicate.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Several audio decoders were just bound as if they were part of
bttv driver. In fact, they are generic enough to be used by other
drivers as well, since they use I2C event bus to communicate.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
when checking the -Wextra signedness warnings issued by gcc 4.1
I came across this one:
drivers/media/video/vivi.c:1001: warning: comparison of unsigned expression < 0 is always false
Since videobuf_reqbufs() returns negative values on errors the current
code does no real error checking since gcc removes the comparison.
This patch fixes this issue by making ret a normal, signed integer.
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Several changes at register stuff were done since commit
b45009b028, but I've forgot
to add the copyright line for this. Those changes allowed
cx88 to have multiple tuners, allowing it to support hardware with
separated radio and video tuners. It also allows binding a tuner to an
specific i2c address.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The Coverity checker spotted the following two array overflows.
Registers 0xcc and 0xdc were cached on reg[] array, with only 128 elements,
instead of 256.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
cx88-alsa can be compiled in (in distro built kernels, for example), but
not used. In those cases, the audio DMA restart is needed for proper sound
on NICAM channels.
This patch enables the DMA restart even with ALSA, but the functions now
check if cx88-alsa is really active.
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Apparently there are two types of knc1 dvb-s plus cards with different tuners
(as for the knc1 dvb-s ones). This patch adds support for those cards with
subsystem id 1894:0011.
Successfully tested by: Benjamin Weber <benny1990@gmail.com>
Signed-off-by: Christoph Pfister <christophpfister@gmail.com>
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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 <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Although not dangerous, it may allow a normal user with access to a machine
to untune a TV channel.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
If the FX2 does not reset properly during reboot, it can present an
invalid USB device ID and fail to attach. Prevent this situation
from occuring by resetting the USB part of the card when the PCI part
probes.
Also fix the GPIO configurations so that analog capture will not
inadvertantly reset the USB part.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
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>
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>
dvb_frontend_detach() used invalid config option CONFIG_DVB_DETACH,
so dvb_frontend_detach() did not call symbol_put_addr().
Replaced CONFIG_DVB_DETACH by CONFIG_DVB_CORE_ATTACH.
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
If an eeprom defined two tuners and they supported more than eight
standards combined (as opposed to each), it would overflow an array.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/pvrusb2/pvrusb2-i2c-cmd-v4l2.c: In function 'set_standard':
drivers/media/video/pvrusb2/pvrusb2-i2c-cmd-v4l2.c:33: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'v4l2_std_id'
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/radio/radio-cadet.c: In function 'cadet_do_ioctl':
drivers/media/radio/radio-cadet.c:362: warning: implicit declaration of function 'KERNEL_VERSION'
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
DVB null terminates its device names, which seems odd, and should be
unnecessary.
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Some DVB-T cards with Grundig 29504-401 tuner use subsystem id 13c2:0001
(reported by Stuart Butterfield).
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Tested on x64 with a bttv board. Most Get ioctls are fixed. The only
non-completely working one is VIDIOCGAUDIO. All other IOR ioctls give the
same results on x86_64 and i386 architectures.
Thanks to Alastair Poole <netstar@gatheringofgray.com> for part of this
patch and tests on ppc64.
Signed-off-by: Alastair Poole <netstar@gatheringofgray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Removed and commented a small debug function.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Another stupid fix for attaching the DiB3000MC. == 0 instead of != 0.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
A new revision of the Avermedia A800 does not reenumerate after download the firmware.
Signed-off-by: Klaus Frahm <frahm@irsamc.ups-tlse.fr>
Signed-off-by: Martin Habbecke <M.Habbecke@gmx.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Thomas Rokamp and others are reporting:
"I have now with success extracted a working firmware for the 93004 rev. C1A2."
This patch increments the firmware version to 2.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Flynn Marquardt found out that there is problem with the new dib3000mc-driver
when using with the real dib3000mc. It resulted in a segfault.
Fixed two things: use the correct I2C address and do not attach a tuner, when
the demod was previously failing.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
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>
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>
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>
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>
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>
+ Added support for the remote control shipped with the pen drive size
DVB-T receiver
[ID 10b8:0bc7 DiBcom DiBcom USB2.0 DVB-T reference design (MOD3000P)]
Signed-off-by: Sergei Haller <sergei@sergei-haller.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- 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>
Adding the USB ids for the LeadTek clone of the STK3000P-ref-design.
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>
Adding the USB IDs to dibusb-mc.c for the Artec T14 USB Stick based on STK3000P reference design.
Thanks to Thomas Rabe testing.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
- 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>
- 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>
Address another case where the test in dvb-pll to see if a tuner's
PLL responds when attaching may fail.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch cleans up some whitespace problems after the dvb_attach changes
in cx88-dvb.c and saa7134-dvb.c, and converts some capitalized i2c address
constants to lowercase.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The test in dvb-pll to see if a tuner's PLL responds when attaching fails
on NXT2004 based boards before the firmware is loaded.
This patch allows us to avoid this test by not passing an I2C bus handle to
the dvb_pll_attach routine, just as Chris Pascoe has done for MT352 and
ZL10353 based boards when used in cx88-dvb.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
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>
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>
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>
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>
This is a card with RDS capabilities.
RDS specifications didn't change from V4L1 to V4L2, so that part should be OK.
This patch changed the following stuff:
* The device can be opened multiple times. That's necessary because there are
at least a radio application and an RDS application (rdsd) that want to
open() the device.
* Added a poll() function. Every character device should have that, and rdsd
expects it as it uses select() on that file descriptor.
* Converted the ioctls to V4L2. MUTE is not implemented correctly as the
card doesn't seem to have a special bit for that. Probably there are a few
more ioctls that should at least return 0 or an error.
As I do not own such a card, I couldn't test anything. If there is anybody out
there who owns such an ancient card, please test and report.
I just checked that the code compiles.
Signed-off-by: Hans J. Koch <koch@hjk-az.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
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>
I missed one call during the dvb_attach() development.
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
Add support for Acorp TV134DS and FlyDVB-S cards (both based on
tda10086+tda826x)
Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Add the necessary code and makefile infrastructure
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
drivers/media/radio/radio-sf16fmi.c: In function 'fmi_do_ioctl':
drivers/media/radio/radio-sf16fmi.c:147: warning: implicit declaration of function 'KERNEL_VERSION'
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Move the call to dst_attach into the dst_attach function to eliminate
problems caused with dvb_attach.
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Acked-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
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>
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>
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>
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>
Convert SEC drivers to new frontend API
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>
Add write() op
Add release_sec() op
Add change misc_priv->sec_priv data field
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Acked-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Since av7110.c is the only file actually using something from this
header, there's no reson for other files to
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This change causes the pvrusb2 driver to limit horizontal resolution
to be only 720 if 24xxx device hardware is being used. This is a
workaround for an unsolved problem in the driver where if the
resolution is set to something other than 720 the video quality will
be _seriously_ degraded. It only happens on 24xxx devices (29xxx are
unaffected by the problem and unaffected by this change). Once the
problem is finally solved, this small change can be removed.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The internal control implementation in the pvrusb2 driver normally
encodes integer range limits using literal values in a const
structure. This change adds two function pointers, which if not null
will be called through in order to determine integer min / max
values.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The pvrusb2 implementation for VIDIOC_[S|TRY]_FMT was hardcoding
limits on the range for allowed resolution, but it would be much
better if we instead just queried the internal control for these
values. This then opens the door for the driver to adjust these
limits based on the detected hardware.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>