Before this patch, HVR900/HVR950 were incorreclty going back to analog. The
result is that only digital were working.
This patch provides the proper setup for analog/digital and tuner callback.
It also properly resets analog into a sane state at open().
Thanks to Steven Toth <stoth@linuxtv.org> and Michael Krufky <mkrufky@linuxtv.org>
for helping to set the proper parameters to GPO/GPIO em2883 ports.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Now, all registers will follow the same convension:
EM28XX_R<reg_number>_<reg_name>
This allows to associate a register with its value, and also with a canonical
name. Also, registers that are specific to a given chip were renamed accordingly,
as EM2800_foo (for 2800 only registers) or EM2880_foo (for registers that started
to appear on em2880).
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Before this patch, registers 0x04 and 0x08 were referenced by its value. This is
bad, since makes harder for someone to understand what this is doing.
This patch renames those two registers into an appropriate name.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
em28xx.h contains lots of different stuff inside. The better is to break it on
some files.
This patch removes the register names, moving them to a separate file.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This is more conservative than just removing the msleep() from
em28xx_write_regs_req(), since some old hardware may still need it.
So, it will remove the sleep time only for those chips where this
removal were tested.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
em28xx-core.c:
- Remove sleep in i2c message routine which slows down i2c by a factor
10x. Load time for BASE firmware went from 13s to .973s
Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
em28xx-dvb.c:
- Remove unneeded xc3028_ctrl structure. The driver automatically preserves
the previous value
tuner-xc2028.c:
- Make the return type for xc2028_get_reg signed, since all of the callers
are looking for "< 0" to detect errors.
Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
xc3028_sleep function is being used with a different meaning. This
should be called only before doing S1/S3 sleep.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Modifies em28xx-dvb not to use videobuf-dvb, but instead to include the code
for registering dvb devices locally and use the URB management code in the
em28xx driver directly. DVB data streaming should now work.
Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Move the URB setup and management code to em28xx-core.c and generalise
it slighlty so that the DVB code can use it.
Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
em28xx-cards.c:
- Fix reversed val/rst values in both analog_gpio and digital_gpio
vectors
- Fix crash that would was occurring during every analog startup
while looping over gpio_ctl
- Remove what appears to be a redundant setting of gpio_ctl->val
- Don't use OREN538 demodulation for the HVR-950 (prevents ATSC
scanning from working)
em28xx-dvb.c:
- Tuner should be in digital mode when issuing the reset
- Add copyright
- Change struct definition (corresponds to fix in em28xx-cards.c for
gpio_ctl looping)
Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Thanks to Devin Heitmueller <devin.heitmueller@gmail.com> and Aidan
Thornton" <makosoft@googlemail.com> for pointing some errors with the
previous scenario.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch adds DVB support for Hauppauge HVR950.
Thanks to Michael Krufky <mkrufky@linuxtv.org> for getting those values.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
em28xx based devices with xc3028 may require some specific gpio values.
This patch adds a generic handling for such values.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch adds em28xx-dvb. This driver is highly based on cx88-dvb and
saa7134-dvb.
This code currently loads and unloads successfully. However, some
changes are needed to properly support the mpeg streams and to setup
em28xx to work on DVB mode.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The functions time_before, time_before_eq, time_after, and time_after_eq
are more robust for comparing jiffies against other values.
A simplified version of the semantic patch making this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@ change_compare_np @
expression E;
@@
(
- jiffies <= E
+ time_before_eq(jiffies,E)
|
- jiffies >= E
+ time_after_eq(jiffies,E)
|
- jiffies < E
+ time_before(jiffies,E)
|
- jiffies > E
+ time_after(jiffies,E)
)
@ include depends on change_compare_np @
@@
@ no_include depends on !include && change_compare_np @
@@
#include <linux/...>
+ #include <linux/jiffies.h>
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
The patch extends the default keymap of FlyVIdeo2000 IR remote control so that
this remote may also serve movie & music players in a better way.
I bought a SAA7130 TV tuner with a remote control having 3 additional button
as the default layout, exactly as:
1) labeled "<<<" : key code 0x19, may be used as "backward"in MPlayer,XMMS etc
2) labeled ">>>" : key code 0x1f, may be used as "forward"...
3) not labeled : key code 0x0a, may be used as "pause"...
Once have added these code definitions to the kernel, me got all these
operations available for viewing movies & listening music.
Signed-off-by : Ivan Bobyr <brefi@yandex.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch modifies Dmitri's original ibmcam driver for Linux to improve
support for the IBM PC Camera Pro. It may also offer improved support for
other models classified by the driver as 'Model 3', such as the IBM PC Camera
Pro Max.
See http://auricle.dyndns.org/xvp610/
Signed-off-by: David Hilvert <dhilvert@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch removes zoran checks for VIDEO_V4L2, since this API is always
present, when V4L is selected.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Observation one: ->write_proc and ->data assignments aren't needed. Removed.
Observation two: codecs lists are unprotected. Patch doesn't fix this.
Observation three:
/proc/videocodecs printout is done to temporary _global_ buffer which
is freed in between. Consequently, two users hitting this file can
screwup each other.
Steps to reproduce:
modprobe videocodec
while true; do cat /proc/videocodecs &>/dev/null; done &
while true; do cat /proc/videocodecs &>/dev/null; done &
The fix is switching to seq_files, this removes code, especially some
line-length "logic".
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Jan Kara <jack@suse.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Fix the leak of the bttv_fh structure allocated in radio_open which
was introduced by commit 5cd3955cb8.
Signed-off-by: Robert Fitzsimons <robfitz@273k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Due to the patch order change, pvrusb2 were broken. So, changeset
4c3b01f711 were applied at mainstream to fix.
After the pvrusb2 changes, this patch is no longer required and should be
reverted.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patches adds support for the SkyStar2 rev2.7 with the PN1010/ITD1000 Frontend.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Support is prepared, but the CX24113-driver .c-file is missing. After sorting out the NDA problems, the file will be there immediatly.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Add a setting to config struct for inversion of lnb-voltage.
Needed for support of Avermedia A700 cards.
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Do not hardcode xtal frequency but allow different values
for future zl10313 support.
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Correct the frequency of the emitted diseqc signal to 22kHz.
Adds sleep(100) to wait for message to be transmitted.
For now the only user of mt312 is b2c2-flexcop, and it
does overwrite all diseqc related functions with own code.
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Change type of buffer variables from void* to u8* to save some casts.
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This device is a clone of the PN1010 used by SkyStar2 rev2.7 .
This patch adds support for the flexcop-device and makes the driver look a little bit nicer.
It needs to be checked whether the driver is still ok for the budget-cards.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Removes some fields from data structs.
There are some fields that are just caching some calculus for buffer
size. The calculus were moved to the places it were needed and the now
unused fields were removed.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
videobuf-dvb were still using a function that were videobuf-dma-sg
dependent. This patch creates a generic handler for this function. This
way, videobuf-dvb can now work with all videobuf implementations.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch fixes three related issues and a fourth trivial one:
- Use buffers even if no-one's currently waiting for them (fixes
underrun issues);
- Don't return incomplete/mangled frames at the start of streaming and
in the case of buffer underruns;
- Fix an issue which could cause the driver to write to a buffer that's
been freed after videobuf_queue_cancel is called (exposed by the
previous two fixes - for some reason, ignoring buffers that weren't
being waited on worked around the issue);
- Fix a bug which could cause only one field to be filled in the first
buffer (or first few buffers) after streaming is started.
Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
There are some cases where nobody is waiting for a buffer. Due to the
lack of check, if you try to abort the userspace app, machine were
hanging, since IRQ were trying to use a buffer that were disallocated.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
A spinlock is necessary for queue_cancel to work with every driver in the tree.
Otherwise a race exists between IRQ handlers removing buffers from the queue
and queue_cancel invalidating the queue.
Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Before the patch, there were a risk of freeing and unmapping userspace memory,
while there were pending requests.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>