Commit Graph

4213 Commits

Author SHA1 Message Date
Brandon Philips
d0d14226b9 V4L/DVB (7735): Fix compilation for au0828
Encountered this error when testing.

Kernel: arch/x86/boot/bzImage is ready  (#76)
  MODPOST 813 modules
ERROR: "dvb_dmx_init" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_unregister_adapter" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_register_frontend" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_unregister_frontend" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_net_release" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_frontend_detach" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_dmxdev_release" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_net_init" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_dmx_release" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_dmx_swfilter_packets" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_register_adapter" [drivers/media/video/au0828/au0828.ko] undefined!
ERROR: "dvb_dmxdev_init" [drivers/media/video/au0828/au0828.ko] undefined!
WARNING: modpost: Found 9 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-26 09:10:50 -03:00
Janne Grunau
094f9b4b31 V4L/DVB (7734): em28xx: copy and paste error in em28xx_init_isoc
Fixes a copy and paste error in check of kzalloc return value. The check block
was copied from the previous allocation but the variable wasn't exchanged.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-26 09:10:49 -03:00
Roel Kluin
50fa46b254 V4L/DVB (7733): blackbird_find_mailbox negative return ignored in blackbird_initialize_codec()
dev->mailbox is unsigned. so a negative return goes unnoticed

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-26 09:10:48 -03:00
Mauro Carvalho Chehab
63b79cfa05 V4L/DVB (7732): vivi: fix a warning
some gcc versions complain that fh is used without being defined.

The error report is bogus. However, fixing it is trivial. Better to make
gcc happy.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-26 09:10:46 -03:00
Harvey Harrison
b1721d0da2 v4l/dvb: add statics to avoid multiple definitions
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-25 19:06:59 -07:00
Linus Torvalds
c328d54cd4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (452 commits)
  V4L/DVB (7731): tuner-xc2028: fix signal strength calculus
  V4L/DVB (7730): tuner-xc2028: Fix SCODE load for MTS firmwares
  V4L/DVB (7729): Fix VIDIOCGAP corruption in ivtv
  V4L/DVB (7728): tea5761: bugzilla #10462: tea5761 autodetection code were broken
  V4L/DVB (7726): cx23885: Enable cx23417 support on the HVR1800
  V4L/DVB (7725): cx23885: Add generic cx23417 hardware encoder support
  V4L/DVB (7723): pvrusb2: Clean up input selection list generation in V4L interface
  V4L/DVB (7722): pvrusb2: Implement FM radio support for Gotview USB2.0 DVD 2
  V4L/DVB (7721): pvrusb2: Restructure cx23416 firmware loading to have a common exit point
  V4L/DVB (7720): pvrusb2: Fix bad error code on cx23416 firmware load failure
  V4L/DVB (7719): pvrusb2: Implement input selection enforcement
  V4L/DVB (7718): pvrusb2-dvb: update Kbuild selections
  V4L/DVB (7717): pvrusb2-dvb: add DVB-T support for Hauppauge pvrusb2 model 73xxx
  V4L/DVB (7716): pvrusb2: clean up global functions
  V4L/DVB (7715): pvrusb2: Clean out all use of __FUNCTION__
  V4L/DVB (7714): pvrusb2: Fix hang on module removal
  V4L/DVB (7713): pvrusb2: Implement cleaner DVB kernel thread shutdown
  V4L/DVB (7712): pvrusb2: Close connect/disconnect race
  V4L/DVB (7711): pvrusb2: Fix race on module unload
  V4L/DVB (7710): pvrusb2: Implement critical digital streaming quirk for onair devices
  ...
2008-04-24 11:21:08 -07:00
Mauro Carvalho Chehab
b0166ab3a6 V4L/DVB (7731): tuner-xc2028: fix signal strength calculus
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:50 -03:00
Mauro Carvalho Chehab
c21f1e2e39 V4L/DVB (7730): tuner-xc2028: Fix SCODE load for MTS firmwares
There are different tables for MTS firmwares. This should be taken into
account while selecting the proper firmware.

While at tuner-xc2028.h, improve some comments.

Thanks to Edward J. Sheldrake <ejs1920@yahoo.co.uk> for helping to
diagnose such troubles with PAL/I standard.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:50 -03:00
Alan Cox
d2b213f7b7 V4L/DVB (7729): Fix VIDIOCGAP corruption in ivtv
Frank Bennett reported that ivtv was causing skype to crash. With help
from one of their developers he showed it was a kernel problem.
VIDIOCGCAP copies a name into a fixed length buffer - ivtv uses names
that are too long and does not truncate them so corrupts a few bytes of
the app data area.

Possibly the names also want trimming but for now this should fix the
corruption case.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:50 -03:00
Mauro Carvalho Chehab
867e835f4d V4L/DVB (7728): tea5761: bugzilla #10462: tea5761 autodetection code were broken
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:50 -03:00
Steven Toth
a589b66546 V4L/DVB (7726): cx23885: Enable cx23417 support on the HVR1800
cx23885: Enable cx23417 support on the HVR1800

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>
2008-04-24 14:09:50 -03:00
Steven Toth
b1b81f1db7 V4L/DVB (7725): cx23885: Add generic cx23417 hardware encoder support
cx23885: Add generic cx23417 hardware encoder support.

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>
2008-04-24 14:09:50 -03:00
Mike Isely
e57b1c8006 V4L/DVB (7723): pvrusb2: Clean up input selection list generation in V4L interface
Change how list of possible pvrusb2 inputs is generated to include
only those interfaces that make sense for the interface instance.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Mike Isely
1df59f0b90 V4L/DVB (7722): pvrusb2: Implement FM radio support for Gotview USB2.0 DVD 2
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Mike Isely
21684ba921 V4L/DVB (7721): pvrusb2: Restructure cx23416 firmware loading to have a common exit point
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Mike Isely
17a7b6642d V4L/DVB (7720): pvrusb2: Fix bad error code on cx23416 firmware load failure
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Mike Isely
1cb03b76d0 V4L/DVB (7719): pvrusb2: Implement input selection enforcement
In the pvrusb2 driver, different interfaces (e.g. V4L, DVB) have

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Michael Krufky
d3f8d8fb30 V4L/DVB (7718): pvrusb2-dvb: update Kbuild selections
These changes are required with the addition of digital television support
for the Hauppauge HVR1900 & HVR1950, the OnAir Creator and Sasem USB HDTV

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Michael Krufky
95814bc2b7 V4L/DVB (7717): pvrusb2-dvb: add DVB-T support for Hauppauge pvrusb2 model 73xxx
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Adrian Bunk
f55a871241 V4L/DVB (7716): pvrusb2: clean up global functions
This patch contains the following cleanups:
- make the following needlessly global function static:
  - pvr2_hdw_set_cur_freq()
- #if 0 the following unused global functions:
  - pvr2_hdw_get_state_name()
  - pvr2_hdw_get_debug_info_unlocked()
  - pvr2_hdw_get_debug_info_locked()

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Mike Isely
49844c291a V4L/DVB (7715): pvrusb2: Clean out all use of __FUNCTION__
Apparently the kernel developers no longer consider it proper
etiquette to use __FUNCTION__; everyone must instead use __func__
(even though it breaks with older compilers).  And worse still, actual
effort is being expended to sweep this change throughout the kernel
source tree.  Don't these people have better things to do?  So...
Completely clean out all use of __FUNCTION__ from the pvrusb2 driver
(it was just in the sysfs interface).  I'm not going to use __func__
either.  So there.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Mike Isely
18ecbb4771 V4L/DVB (7714): pvrusb2: Fix hang on module removal
The pvrusb2 driver was getting had by this scenario:

1. Task A calls kthread_stop() for task B.
2. Before exiting, then Task B calls kthread_stop() for task C.

The problem is, kthread_stop() wants to allocate an internal resource
to itself (i.e. acquire a lock), which won't be released until
kthread_stop() returns.  But kthread_stop() won't return until task B
is dead.  But task B won't die until it finishes its call to
kthread_stop() for task C, and that will block waiting on the resource
already allocated inside task A.  Deadlock.

With the pvrusb2 driver, task A is the caller to pvr_exit(), task B is
the control thread run inside of pvrusb2-context.c, and task C is any
worker thread run inside of pvrusb2-hdw.c.

This problem got introduced by the previous threading setup change,
which was itself an attempt to fix a module tear-down race (which it
actually did fix).  The lesson here is that a task being waited on as
part of a kthread_stop() simply cannot be allow to also issue a
kthread_stop() - or we make sure not to issue the enclosing
kthread_stop() until we know that the inner kthread_stop() has
completed first.  The solution for the pvrusb2 driver is some hackish
code which changes the main control thread tear down into a two step
process.  This then makes it possible to delay issuing the
kthread_stop() on the control thread until after we know that
everything has been torn down first.  (And yes, we really need that
kthread_stop() because it's the only way to safely guarantee that a
module-referencing kernel thread has safely returned back out of the
module before we finally remove the module.)

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Mike Isely
13e027a8bf V4L/DVB (7713): pvrusb2: Implement cleaner DVB kernel thread shutdown
Earlier fix to handle DVB feed thread aborts was overly-aggressive.
We can take better advantage of what kthread_stop() can do.  This
change simplifies things.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:49 -03:00
Mike Isely
97f26ff604 V4L/DVB (7712): pvrusb2: Close connect/disconnect race
If a disconnect happens before initialization is completed, the
pvrusb2 driver can accidentally touch dangling pointers.  The whole
initialization function must be protected by the big_lock, and once
inside that lock, the initialization function should abort if it is
discovered that a disconnect has already taken place.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Mike Isely
e5be15c638 V4L/DVB (7711): pvrusb2: Fix race on module unload
The pvrusb2 driver - for basically forever - was not enforcing a
proper module tear-down.  Kernel threads are used inside the driver
and all must be gone before the module can be safely removed.  This
changeset reimplements a chunk of pvrusb2-context.c to enforce this
correctly.  Unfortunately this is not a simple fix.  The new
implementation also cuts back on kernel thread usage; instead of there
being 1 control thread per instance now it's just 1 control thread
shared by all instances.  (By dropping to a single thread then the
module exit function can block on its shutdown and the thread itself
can monitor and cleanly shut down all of the other instances first.)

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Mike Isely
d913d63030 V4L/DVB (7710): pvrusb2: Implement critical digital streaming quirk for onair devices
Implement timed measurement of encoder operation for the first time it
is run.  This allows the driver to note when the encoder has been run
successfully for at least 1/4 second.  On top of that implement
various bits to ensure that the encoder has been run once before
digital streaming for OnAir devices.  This is done via several core
state machine tweaks.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Mike Isely
72998b7109 V4L/DVB (7709): pvrusb2: New device attribute for encoder usage in digital mode
Some tuners seem to not work in digital mode unless the encoder is
healthy.  Implement a device attribute to represent this flag and
modify the core state machines to enforce this requirement.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Mike Isely
07b80264c3 V4L/DVB (7708): pvrusb2-dvb: Fix stuck thread on streaming abort
If the device fails to stream, the feed thread will block forever
waiting for buffers.  But while in this state it was not looking for
an exit condition from the driver DVB interface.  This caused the
thread to jam.  Implement a new stop flag (which will be set
appropriately) to tell the thread to stop.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Michael Krufky
087886eb11 V4L/DVB (7707): pvrusb2-dvb: add atsc/qam support for Hauppauge pvrusb2 model 750xx
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Michael Krufky
c881284151 V4L/DVB (7706): pvrusb2: create a separate pvr2_device_desc structure for 751xx models
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Michael Krufky
906a495741 V4L/DVB (7705): pvrusb2: Enable OnAir digital operation
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Mike Isely
1b1b8d7841 V4L/DVB (7704): pvrusb2: Fix slop involving use of struct which might not be defined
When the DVB interface is not compiled, the pvr2_dvb_props struct is
not available - so it really should be ifdef'ed out as well.  This
didn't cause an error because in this context its usage was as an
opaque pointer.  But it really shouldn't be present at all if DVB is
not enabled.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:48 -03:00
Mike Isely
694dca2b80 V4L/DVB (7703): pvrusb2: Fix minor problem involving ARRAY_SIZE confusion
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
bb0c2fe0c4 V4L/DVB (7702): pvrusb2: Rework USB streaming start/stop execution
The commands to start / stop USB streaming for an analog device are
fairly standard, owing to the fact that all supported devices
apparently started from the same common reference design.  However
with digital mode, the commands seem to vary by vendor.  This change
makes that variance more explicit.  It also cleans up a related
problem for OnAir devices which prevented digital mode from working at
all.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
1c9d10d4d2 V4L/DVB (7701): pvrusb2: Centralize handling of simple FX2 commands
Numerous places in the driver need to issue simple commands to the FX2
microcontroller (e.g. only 1 or 2 bytes, no reply needed).  Previously
each place that did this, had to take lock, set up a central buffer,
and call the function to perform the handshake.  This change puts
these steps into a single spot.  This also has the effect of removing
the need to mess with the control lock from numerous places in the
code.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
448cb48e6e V4L/DVB (7700): pvrusb2: Make FX2 command codes unsigned constants
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
ad0992e97c V4L/DVB (7699): pvrusb2: Implement statistics for USB I/O performance / tracking
Implement a mechanism in the pvrusb2 driver for gathering statistics
on the stream buffering, including bytes transferred, buffers handled,
buffers in flight, etc.  This is useful for debugging certain classes
of streaming issues and for determining if the buffer pool size is
generally correct for the driver.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
be9cbb7c55 V4L/DVB (7698): pvrusb2: Remove never-reached break statements (trivial)
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
b9a37d9124 V4L/DVB (7697): pvrusb2: Fix misleading bit of debug output (trivial)
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
38d9a2cf2d V4L/DVB (7696): pvrusb2: state control tweak
Don't trigger a pathway state change if it's already been triggered
(eliminates some wasted processing and some debug output noise)

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
98e184d978 V4L/DVB (7695): pvrusb2: Make associativity of == and && explicit (cosmetic)
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
ce52f81138 V4L/DVB (7694): pvrusb2: Fix compilation goof when CONFIG_VIDEO_PVRUSB2_DVB is off
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
e6d1186543 V4L/DVB (7693): pvrusb2-dvb: Change usage of 0 --> NULL
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
c5317b17f6 V4L/DVB (7692): pvrusb2-dvb: Further clean up dvb init/tear-down
Move pvr2_dvb_adapter usage out of the pvrusb2 driver core - it's
really private to the pvrusb2-dvb module and nothing outside of the
dvb implementation should care about it.  Creation / destruction of
the pvr2_dvb_adapter instance is now contained entirely within
pvrusb2-dvb.c.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
129a2f5efd V4L/DVB (7691): pvrusb2-dvb: Don't initialize if device lacks a digital side
In the end we'd like the dvb interface to always be present - even for
analog devices (via the mpeg encoder).  However right now pvrusb2-dvb
won't operate correctly if the hardware doesn't have a digital tuner,
so don't initialize the DVB interface unless we know we have a digital
tuner.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:47 -03:00
Mike Isely
7dcc48fb55 V4L/DVB (7690): pvrusb2-dvb: Remove digital_up flag
Other pvrusb2-dvb changes have made the digital_up flag obsolete.  So
kill it.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Mike Isely
891d99efc5 V4L/DVB (7689): pvrusb2-dvb: Rework module tear-down
Rather than making an explicit call to tear down the pvrusb2-dvb
module, use the callback in the pvr2_channel structure.  This has the
advantage that now tear-down only happens when it makes sense.  The
previous implementation had scenarios where it was possible for the
tear-down call to happen without a prior initialization.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Mike Isely
a36416d0a7 V4L/DVB (7688): pvrusb2: Clean up dvb streaming start/stop
Eliminate the need for a separate pvr2_dvb_fh; since in the DVB
context there can only ever be a single instance then there is no need
for a separate instance to handle streaming state.  This simplifies
the module.  Also move streaming start/stop out of the feed thread and
into the driver's main context - which makes it possible for streaming
start up failures to be detected by the DVB core.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Mike Isely
ceb4340deb V4L/DVB (7687): pvrusb2: Fix oops in pvrusb2-dvb
The pvrusb2-dvb feed thread cannot be allowed to exit by itself
without first waiting for kthread_should_stop() to return true.
Otherwise the driver will have a dangling task_struct context, which
will cause a very nasty kernel oops.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Mike Isely
e2780fb411 V4L/DVB (7686): pvrusb2: Fix broken debug interface build
Fix pvrusb2 kbuild typo introduced when pvrusb2-dvb was added.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Mike Isely
48e5329fe8 V4L/DVB (7685): pvrusb2: Fix really bad typo if DVB config option description
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Mike Isely
bc4b02caa8 V4L/DVB (7684): pvrusb2: Add VIDEO_PVRUSB2_DVB config variable
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Michael Krufky
bde316a4f1 V4L/DVB (7683): pvrusb2-dvb: set to DTV mode before attaching frontend
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Mike Isely
bb8ce9d914 V4L/DVB (7682): pvrusb2-dvb: finish up stream & buffer handling
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Michael Krufky
d8abe97d00 V4L/DVB (7681): pvrusb2-dvb: start working on streaming / buffer handling code
start work on streaming / buffer handling code to feed the software demux

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Michael Krufky
99443ae04f V4L/DVB (7680): pvrusb2-dvb: add pvr2_dvb_bus_ctrl to allow frontends to negotiate bus access
This function is just a skeleton for now -
a placeholder to remind us to fix it.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Michael Krufky
04910bdc5c V4L/DVB (7679): pvrusb2: add DVB API framework
Add basic framework for the DVB API.  This is enough to control the
tuner & demod of the digital frontend, but the stream & buffer handling
is still missing.

Additional note from Mike Isely <isely@pobox.com> - also, since these
changes are still very experimental arrange for DVB changes to be
compiled in via new CONFIG_VIDEO_PVRUSB2_DVB option, for now.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Mike Isely
e7f677f336 V4L/DVB (7678): pvrusb2: Fix stupid string typo that has been reproducing wildly
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Dmitry Belimov
b34dddbe4b V4L/DVB (7677): saa7134: Add/fix Beholder entries
Beholder TV/FM tuners:

Changes:
     Add support Beholder Columbus PCMCIA card.
     Add key map for remote control of Beholder Columbus PCMCIA card.
     Fix gpiomask for all Beholder tuners.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Dmitry Belimov
8fb737b7dc V4L/DVB (7676): saa7134: fix: Properly handle busy states on i2c bus
There are two conditions, reported by saa7134 that indicates that the I2C bus
is busy: TO_SCL and TO_ARB.

On both states, it needs to wait for I2C release, before using the bus.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:46 -03:00
Dmitry Belimov
548899c76e V4L/DVB (7675): tea5767 autodetection is not working on some saa7134 boards
Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Steven Toth
d5b3d9ff36 V4L/DVB (7674): tda10048: Adding an SNR table
Trying to improve the SNR reporting.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Steven Toth
6676237398 V4L/DVB (7673): cx23885: Add support for the Hauppauge HVR1400
DVB-T mode is now supported using the DiBcom dib7000p demodulator
and the Xceive xc3028L silicon tuner. Analog mode is not supported.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Reviewed-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Steven Toth
a38d6e37c0 V4L/DVB (7672): dib7000p: Add output mode param to the attach struct
This allows future drivers to select the most appropriate output mode.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Reviewed-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Guennadi Liakhovetski
5aa2110f3f V4L/DVB (7671): pxa-camera: fix DMA sg-list coalescing for more than 2 buffers
Currently the pxa-camera driver has a bug, visible when the user requests
more than 2 video buffers. When the third buffer is queued, it is not
appended to the DMA-descriptor list of the second buffer, but is again
appended to the first buffer. Fix it.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Guennadi Liakhovetski
e7c5068819 V4L/DVB (7670): pxa-camera: handle FIFO overruns
FIFO overruns are not seldom on PXA camera interface FIFOs. Handle them by
dropping the corrupted frame, waiting for the next start-of-frame, and
restarting capture.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Mike Rapoport
a5462e5be3 V4L/DVB (7669): pxa_camera: Add support for YUV modes
This patch adds support for YUV packed and planar capture for pxa_camera.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Guennadi Liakhovetski
587df9fca6 V4L/DVB (7668): soc-camera: Remove redundant return
This obviously redundant return has been in the driver from the very first
version. Remove it.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Douglas Schilling Landgraf
6ec6e0ced1 V4L/DVB (7666): meye: Replace meye_do_ioctl to use video_ioctl2
Convert meye to use video_ioctl2

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Douglas Schilling Landgraf
130ca945d8 V4L/DVB (7665): videodev: Add default vidioc handler
Added default vidioc handler for other private ioctls

Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Oliver Endriss
87dd965f10 V4L/DVB (7663): budget: Support for Activy budget card with BSBE1 tuner
Add support for Activy budget card with BSBE1 tuner, subsystem id 0x1131:0x4f60.
Low band and DiSEqC support should work now (BSBE1 and BSRU6 tuner).

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Oliver Endriss
da2c7f6617 V4L/DVB (7662): stv0299: Fixed some typos
Fixed some typos.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Oliver Endriss
e84b133e32 V4L/DVB (7661): stv0299: Add flag to turn off OP0 output
Add flag to turn off OP0 output.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Oliver Endriss
94ad6de705 V4L/DVB (7660): bsbe1: Use settings recommended by the manufacturer
Reworked the BSBE1 tuner support in bsbe1.h to follow
the ALPS-recommended parameters more closely.

Tested with BSBE1-based Activy cards and TT DVB-S rev 2.3.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Andrea Odetti
a095be4b03 V4L/DVB (7659): dvb-core: Implement DMX_SET_BUFFER_SIZE for dvr
Implementation of DMX_SET_BUFFER_SIZE for dvr.
Synchronization of the code of DMX_SET_BUFFER_SIZE for demux and dvr.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:45 -03:00
Andrea Odetti
48c01a9c2d V4L/DVB (7658): dvb-core: Fix DMX_SET_BUFFER_SIZE in case the buffer shrinks
This patch fixes the bug in DMX_SET_BUFFER_SIZE for the demux.
Basically it resets read and write pointers to 0 in case they are
beyond the new size of the buffer.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Hartmut Hackmann
3ff9a81b21 V4L/DVB (7656): tda826x: Calculate cut off fequency from symbol rate
This patch makes the tuner work with transonders providing higher
symbol rates.
It was contributed by Oliver Endriss.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Hartmut Hackmann
b1c54fe2ae V4L/DVB (7655): tda10086 coding stlye fixes
This patch replaces the c++ style comments.
No functional changes

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Hartmut Hackmann
9a1b04e461 V4L/DVB (7654): tda10086: make the xtal frequency a configuration option
Some DVB-S boards, i.e. with the SD1878 tuner, use a 4 MHz reference frequency.
This reqires a different setup of the clock PLL.
This patch adds an enum to the tda10086_config struct and sets the proper
values for the boards.

This patch also fixes the DVB-S section of the MD7134_BRIDGE_2

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Devin Heitmueller
b37f2d6a31 V4L/DVB (7653): tuner-xc2028: drop the severity of version reporting
tuner-xc2028.c
 - Drop the severity level of the xc3028 version reporting, since it's
   only of interest to developers and user's don't need to have it show up
   in their dmesg output every time they change the channel.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Devin Heitmueller
4269a8eed2 V4L/DVB (7652): em28xx: Drop the severity level of the "urb resubmit failed"
em28xx-core.c
 - Drop the severity level of the "urb resubmit failed" to debug, since it
   occurs every time a stream disconnects, which fills the dmesg log

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Mauro Carvalho Chehab
33e5316113 V4L/DVB (7651): tuner-xc2028: Several fixes to SCODE
This patch fixes several issues on SCODE:

1) The extracting tool weren't generating the proper tags for SCODE. This
   has almost no effect, since those tags shouldn't be used;

2) DIBCOM52 were using a wrong IF. It should be 5200, instead of 5700;

3) seek_firmware were wanting an exact match for firmware type. This is
   wrong. As result, no SCODE firmware were loaded;

4) A few files were including the wrong file for seeking demod firmwares;

5) XC3028_FE_DEFAULT can be used, if user doesn't want to load a firmware.
   However, this weren't documentated. This feature require more testing.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Andrew Morton
d1e0b57162 V4L/DVB (7650): git-dvb: Kconfig fix
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Steven Toth
ce89cfb490 V4L/DVB (7648): cx23885: Load any module dependencies accordingly
For boards that require the avcore (cx25840) to be active, ensure
it gets loaded.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Steven Toth
a780a31cee V4L/DVB (7647): Add support for the Hauppauge HVR-1700 digital mode
This adds support for DVB-T mode only, analog is not supported.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Steven Toth
2770b7d713 V4L/DVB (7646): cx25840: Ensure GPIO2 is correctly set for cx23885/7/8 based products
cx25840: Ensure GPIO2 is correctly set for cx23885/7/8 based products.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Steven Toth
b3ea016689 V4L/DVB (7645): Add support for the Hauppauge HVR-1200
This adds support for DVB-T mode only, analog mode is not supported.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Steven Toth
7bbb1ce4f3 V4L/DVB (7644): Adding support for the NXP TDA10048HN DVB OFDM demodulator
Adding support for the NXP TDA10048HN DVB OFDM demodulator

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Steven Toth
6b92b3bd7a V4L/DVB (7642): cx88: enable radio GPIO correctly
cx88: enable radio GPIO correctly.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Kay Sievers
ce96d0a44a V4L/DVB (7641): V4L: ov511 - use usb_interface as parent, not usb_device
The current code creates a bogus DEVPATH:
  /devices/pci0000:00/0000:00:1d.0/usb1/1-2/video4linux/video0
while it should be:
  /devices/pci0000:00/0000:00:1d.0/usb1/1-2/1-2:1.0/video4linux/video0

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:44 -03:00
Mauro Carvalho Chehab
353a2761ff V4L/DVB (7639): au8522: fix a small bug introduced by Checkpatch cleanup
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Mauro Carvalho Chehab
18d73c58b5 V4L/DVB (7638): CodingStyle fixes for au8522 and au0828
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Steven Toth
bbdf855b0e V4L/DVB (7637): au0828: Typo
au0828: Typo

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Steven Toth
805caff5a8 V4L/DVB (7636): au0828: Add HVR850 model number
au0828: Add HVR850 model number

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Steven Toth
37be1ea40e V4L/DVB (7635): au8522: Cleanup
au8522: Cleanup

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Steven Toth
a9c36aad59 V4L/DVB (7634): au0828: Cleanup
au0828: Cleanup

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Michael Krufky
0daa5de740 V4L/DVB (7633): au8522: consolidate mse2snr_lookup functions
consolidate au8522_qam256_mse2snr_lookup, au8522_qam64_mse2snr_lookup and
au8522_vsb_mse2snr_lookup into a single function, au8522_mse2snr_lookup.

Pass the mse2snr table into au8522_mse2snr_lookup depending on the
modulation type.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Steven Toth
f01699b482 V4L/DVB (7632): au8522: Added SNR support and basic cleanup
au8522: Added SNR support and basic cleanup

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Michael Krufky
fb8152cb01 V4L/DVB (7631): au8522: add function au8522_read_mse
add function au8522_read_mse, which will be used to compute snr

TO DO: mse2snr

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00
Michael Krufky
8973dc4b70 V4L/DVB (7630): au8522: fix au8522_read_ucblocks for qam
ucblocks are reported in separate registers for vsb & qam

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:09:43 -03:00