V4L/DVB (9055): tuner-xc2028: Do a better job selecting firmware type
Firmware selection is very tricky on this device. This patch do a better
selection of the proper firmware type, by using a code to hint if the
firmware to be loaded should be D2620 or D2633.
It also allows overriding the hint at the control structure.
Michael Krufky [Wed, 10 Sep 2008 04:39:20 +0000 (01:39 -0300)]
V4L/DVB (9048): add a general-purpose callback pointer to struct dvb_frontend
Remove tuner_callback pointers from tuner driver configuration
and private state structures, replaced with a general-purpose
callback pointer within struct dvb_frontend.
A new parameter is added to the callback function, called
component. This allows us to use this callback pointer by
frontend components other than the tuner, if need be. So
far, this is only used by tuner drivers.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Chris Rankin [Thu, 25 Sep 2008 09:52:24 +0000 (06:52 -0300)]
V4L/DVB (9047): [PATCH] Add remote control support to Nova-TD (52009)
This patch adds remote control support for the Hauppauge WinTV Nova-TD
(Diversity) model. (That's the 52009 version.) It also adds the
key-codes for the credit-card style remote control that comes with
this particular adapter.
Signed-off-by: Chris Rankin <rankincj@yahoo.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
V4L/DVB (9046): Add support for Non-Pro version of Pinnacle PCTV HD USB Stick
Add USB ID for Pinnacle PCTV HD USB Stick. According to the USB trace and
photos, the only difference is the removal of the port for the analog
S-video/audio input.
Thanks to Mike Pringle <oblongd@gmail.com> for providing the USB trace of the
device starting up, and testing the support.
V4L/DVB (9045): Add Pinnacle 801e dependencies to KConfig
Support for the Pinnacle PCTV HD Pro 801e creates a dib0700 dependency on
the xc5000 tuner and s5h1411 demodulator drivers. Update KConfig accordingly.
V4L/DVB (9044): Add support for Pinnacle PCTV HD Pro 801e (ATSC only)
Add digital support for the Pinnacle PCTV HD Pro 801e (usb id 2304:023a)
Thanks to Patrick Boettcher <patrick.boettcher@desy.de> for providing new
firmware fixing the issue with the i2c that prevented the xc5000 from working.
Peter Beutner [Sat, 6 Sep 2008 16:54:06 +0000 (13:54 -0300)]
V4L/DVB (9040): TTUSB-DEC DVB-S: claim to have lock
As reported by BOUWSMA Barry the readout of the signal status doesn't work
on dec3000-s models. Since we don't know how to do it better, revert back
to the old behaviour and always report a signal lock.
Reported by Barry Bouwsma
Signed-off-by: Peter Beutner <p.beutner@gmx.net> Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
V4L/DVB (9039): Add support for new i2c API provided in firmware version 1.20
The Pinnacle PCTV HD Pro has an xc5000, which exposed a bug in the dib0700's
i2c implementation where it did not properly support a single i2c read request
(sending it as an i2c write request instead). Version 1.20 of the firmware
added support for a new i2c API which supported such requests.
This change defaults to fw 1.20 for all devices, but does not default to using
the new i2c API (since initial testing suggests problems interacting with the
mt2060). Maintainers can enable the use of the new i2c API by putting
the following into their frontend initialization:
Also note that the code expects i2c repeated start to be supported. If the
i2c slave does not support repeated start, i2c messsages should have the
I2C_M_NOSTART flag set.
Thanks to Patrick Boettcher <patrick.boettcher@desy.de> for providing new
firmware fixing the issue as well as example i2c code utilizing the interface.
Finn Thain [Sat, 6 Sep 2008 16:42:47 +0000 (13:42 -0300)]
V4L/DVB (9038): Add support for the Gigabyte R8000-HT USB DVB-T adapter.
Thanks to Ilia Penev for the tip-off that this device is much the same as
(identical to?) a Terratec Cinergy HT USB XE, and for the firmware hints:
http://linuxtv.org/pipermail/linux-dvb/2008-August/028108.html
DVB functionality tested OK with xine using the usual dib0700 firmware.
This diff is based on the latest latest linuxtv.org v4l-dvb mercurial
repo.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Signed-off-by: Patrick Boettcher <pb@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
V4L/DVB (9036): uvcvideo: Fix control cache access when setting composite auto-update controls
Auto-update controls are never marked is loaded to prevent uvc_get_ctrl from
loading the control value from the cache. When setting a composite (mapped to
several V4L2 controls) auto-update UVC control, the driver updates the control
cache value before processing each V4L2 control, overwriting the previously
set V4L2 control.
This fixes the problem by marking all controls as loaded in uvc_set_ctrl
regardless of their type and resetting the loaded flag in uvc_commit_ctrl for
auto-update controls.
V4L/DVB (9034): With the recent patch to v4l2 titled "v4l2: use register_chrdev_region
instead of register_chrdev", the internal reference count is no longer
necessary in order to free the internal stk_webcam struct. This patch
removes the reference counter from the stk_webcam struct and frees the
struct via the video_device release callback. It also fixes an
associated bug in stk_camera_probe which could result from
video_unregister_device being called before video_register_device.
Lastly, it simplifies access to the stk_webcam struct in several
places. This patch should apply cleanly against the "working" branch
of the v4l-dvb git repository.
This patch is identical to the patch I sent a couple of months back
titled "stk-webcam: Fix video_device handling" except that it has been
rebased against current modifications to stk-webcam and it no longer
depends on any other outstanding patches.
Acked-by: Jaime Velasco Juan <jsagarribay@gmail.com> Signed-off-by: David Ellingsworth <david@identd.dyndns.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/tda9840.c: In function 'tda9840_command':
drivers/media/video/tda9840.c:152: warning: 'result' is used uninitialized in this function
[mchehab@redhat.com: Fix conflict with another patch that were meant to solve the warning] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Ming Lei [Tue, 16 Sep 2008 06:32:20 +0000 (03:32 -0300)]
V4L/DVB:usbvideo:don't use part of buffer for USB transfer #4
The status[] is part of uvc_device structure. We can't make sure
the address of status is at a cache-line boundary in all archs,so
status[] might share a cache-line with some fields in uvc_structure.
This can lead to some cache coherence issues(http://lwn.net/Articles/2265/).
Use dynamically allocated buffer instead.
Signed-off-by: Ming Lei <tom.leiming@gmail.com> Acked-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
V4L/DVB (9031): uvcvideo: Fix incomplete frame drop when switching to a variable size format.
When streaming in a fixed size format the driver sets a flag in the uvc_queue
structure to drop incomplete incoming frames. The flag wasn't cleared when
switching to a variable size format, which resulted in a broken
'MJPEG after YUV'.
hermann pitton [Sun, 14 Sep 2008 20:49:14 +0000 (17:49 -0300)]
V4L/DVB (9028): saa7134: add support for the triple Asus Tiger 3in1
after looking it up, all rants about the 80 columns restriction seem to
be in vain. After changing the card's name it are now "only" seven new
lines in the tiny DVB-T/DVB-S switch function.
The board init gpio is 0x0, 0x200000 is from previously unloading with
antenna_switch = 1.
It needs firmware for the tda10046 and analog sound needs saa7134-alsa.
I have support for one more board and need to fix the first revision of
the Asus Tiger DVB-T hybrid. DVB-T currently hangs on the male radio
antenna input, also some small other stuff.
Please report any issues with this patch, the next are depending on this
one.
saa7134: add support for the triple Asus Tiger 3in1
Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
V4L/DVB (9026): Add support for ST STV0288 demodulator and cards with it.
Add support for ST STV0288 demodulator and cards with it,
such as TeVii S420.
Patch is co-authored with Georg Acher <acher@baycom.de>
Signed-off-by: Georg Acher <acher@baycom.de> Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Steven Toth [Wed, 24 Sep 2008 01:21:26 +0000 (22:21 -0300)]
V4L/DVB (9025): S2API: Deactivate the ISDB-T definitions
We don't want to push the ISDB-T definitions into the kernel until
we have a high level of confidence in the ISDB-T API. More testing
is required before this code is released.
Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
V4L/DVB (9016): HVR3000/4000 Hauppauge related IR cleanups
From the author:
This patch-set fixes remote control issues I have experienced
with hauppauge drivers in Linux since the PVR-350 and now
with both a NOVA-S+ and HVR-4000. It has also been confirmed
to work with an HVR-1300 user who had exactly the same issue.
Hauppage remote controls use RC5. RC5 has a bit-field which
represents the target device. The hauppauge windows drivers
have a registry key which can enable filtering, but the linux
drivers will accept any target device in this bit field for
internal processing.
This causes problems with setups such as mythtv where remote
control key presses destined for the TV (target = 0) are
interpreted by the kernel and subsequenctly LIRC then mythtv.
Of the remote controls I have to hand (wintv black, pvr/hvr
silver) the hauppauge remotes send one of two device targets
ids, these are interpreted by the patch which then filters
out any non hauppauge addresses.
From the author:
Here is a simple patch detailing some reverse engineered
register detail lost in my latest merge. The comments
in the code refer to this register but it is never
defined. This corrects this.
V4L/DVB (9014): History update: MPEG initialization in cx24116.
Adjust MPEG initialization in cx24116 in order to accomodate different
MPEG CLK position and polarity in different cards. For example, HVR4000
uses 0x02 value, but DvbWorld & TeVii USB cards uses 0x01. Without it MPEG
stream was broken on that cards for symbol rates > 30000 kSyms/s.
Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Remove the debugging sysctls.
Rolloff was broken, not it works as expected and has been tested in kaffeine.
Power related changes for the isl6421 are not implemented on the HVR4000/4000LITE.
V4L/DVB (9011): S2API: A number of cleanusp from the last 24 months.
I was given these changes by Darron Broad and Igor Liplianin and represent a series
of patches they've been making to the cx24116 driver over the last two years.
Changes for handling symbolrates >30Ksps
Tone handling changes.
Diseqc support.
Sleep support, shutting down the clocks correctly.
Cleanup on ROLL_OFF and PILOT support.
*** ST - We need to cleanup the sysclt control, this is abnormal
in a demod driver. We should work towards understanding the missing
API's and ensure we have them in S2API. ***
Steven Toth [Fri, 12 Sep 2008 04:37:37 +0000 (01:37 -0300)]
V4L/DVB (9004): S2API: Implement GET/SET handing to the demods
The frontends will be notified (if they chose) of all _get and _set commands
so they can help determine result or action. Results are now returned
to userspace correctly.
Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Steven Toth [Fri, 12 Sep 2008 02:52:32 +0000 (23:52 -0300)]
V4L/DVB (8999): S2API: Reduce demod driver complexity by using a cache sync
For demod drivers, we want a single tuning function (set_frontend) to have
access to the properly constructed dvb_frontend_parameters structure, or
the cache values - regardless of whether the legacy or new API is being used.
This cuts down on redundant code in the demod drivers and ensures the
tuning parameters are consistent regardless of the API entry type.
Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
After discussion the following changes were made:
1. Removed the typedefs in frontend.h, use structures.
2. In the frontend.h, remove the 16 command limit on the API and
switch to a flexible variable length API. For practical reasons
a #define limits this to 64, this should be discussed.
3. Changed dvb-core ioctl handing to deal with variable sequences
of commands.
tune-v0.0.3.c is required to use this API, it contains the interface changes.
Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Steven Toth [Fri, 5 Sep 2008 00:19:43 +0000 (21:19 -0300)]
V4L/DVB (8988): S2API: Allow the properties to call legacy ioctls
SET_TONE and SET_VOLTAGE were not previously implemented. Two options
existed. Either cut/paste from the previous ioctl handler into the
process_properties function, which is code duplication. Or, split
the current ioctl handler into it's two major pieces.
Piece 1, responsible for input validation and semaphore acquiring
Piece 2 the processing of the previous ioctls
and finally, a new third pieces where the array of properties
is processed, and can freely call the legacy ioctl handler without
having to re-acquire the fepriv->sem semaphore. This is a clean approach
and ensures the existing legacy ioctls are processed as they were previously
(but with an extra function call) and allows the new API to share code
without duplication.
Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Steven Toth [Thu, 4 Sep 2008 04:12:25 +0000 (01:12 -0300)]
V4L/DVB (8985): S2API: Added dvb frontend changes to support a newer tuning API
This is an experimental patch to add a new tuning mechanism for
dvb frontends. Rather than passing fixed structures across the
user/kernel boundary, which need to be revised for each new modulation
type (or feature the kernel developers want to add), this implements
a simpler message based approach, allowing fe commands to be broken
down into a series of small fixed size transactions, presented
in an array.
The goal is to avoid changing the user/kernel ABI in the future, by
simply creating new frontend commands (and sequencies of commands) that
help us add support for brand new demodulator, delivery system or
statistics related commmands.
known issues:
checkpatch voilations
feedback from various developers yet to be implemented, relating
to namespace conventions, variable length array passing conventions,
and generally some optimization.
This patch should support all existing tuning mechanisms through the
new API, as well as adding 8PSK, DVB-S2 NBC-QPSK and ISDB-T API support.
For testing and exercise purposes, see the latest tune.c tool
available from http://www.steventoth.net/linux/s2
Signed-off-by: Steven Toth <stoth@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Antti Palosaari [Mon, 15 Sep 2008 20:18:09 +0000 (17:18 -0300)]
V4L/DVB (8972): initial driver for af9015 chipset
- initial driver for the Afatech AF9015 chipset
Thanks-to: Mark Spieth <mark@digivation.com.au> Thanks-to: Lee Essen <lee.essen@nowonline.co.uk> Thanks-to: Luca Olivetti <luca@ventoso.org> Thanks-to: Andrew Leech <andrew@floppyspongeonline.com> Thanks-to: Nick Andrew <nick-linuxtv@nick-andrew.net> Thanks-to: Rafael Antoniello <rafael.antoniello@gmail.com> Thanks-to: Jarryd Beck <jarro.2783@gmail.com> Thanks-to: Jose Alberto Reguero <jareguero@telefonica.net> Thanks-to: Benjamin Larsson <banan@ludd.ltu.se> Thanks-to: Wolfgang Breyha <wbreyha@gmx.net> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Antti Palosaari [Mon, 15 Sep 2008 18:01:52 +0000 (15:01 -0300)]
V4L/DVB (8971): initial driver for af9013 demodulator
- initial driver for the Afatech AF9013 demodulator
Signed-off-by: Antti Palosaari <crope@iki.fi>
[mchehab.redhat.com: having a global var called 'debug' is not a good idea. rename it to af9013_debug] Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Jean Delvare [Sun, 7 Sep 2008 15:49:59 +0000 (12:49 -0300)]
V4L/DVB (8956): bttv: Turn video_nr, vbi_nr and radio_nr into arrays
With video_nr, vbi_nr and radio_nr being simple integers, it is not
possible to use these parameters on a system with multiple bttv
adapters (which happens to be my case.) video_register_device() will
always fail on the second and later adapters. Turn these parameters
into arrays, as many other V4L drivers are already doing, so that they
can be used on such systems.
Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Michael Krufky [Sat, 6 Sep 2008 17:56:58 +0000 (14:56 -0300)]
V4L/DVB (8951): xc5000: dont pass devptr in xc5000_attach()
Dont pass devptr in xc5000_attach, dont store it in xc5000_priv.
This pointer is passed into the tuner_callback function, which always
expects a pointer to fe->dvb->priv or i2c_adapter->algo_data.
This prevents future possible bugs in new drivers, such as using a "devptr"
other that the standard fe->dvb->priv in a DVB driver.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Michael Krufky [Sat, 6 Sep 2008 16:54:45 +0000 (13:54 -0300)]
V4L/DVB (8950): xc5000: prevent an OOPS if analog driver is unloaded while digital is in use
Prevent an OOPS if xc5000_attach was called by tuner.ko before being called by
the DVB adapter driver. The OOPS occurs when a digital tune request is made
after tuner.ko is unloaded.
When tuner.ko is unloaded, it takes the xc5000_config structure with it.
Rather than storing a pointer to the xc5000_config structure, just store the
if_khz and tuner_callback inside the xc5000_priv internal state structure.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Sun, 7 Sep 2008 11:38:50 +0000 (08:38 -0300)]
V4L/DVB (8946): dib7000m: fix powerpc build error
The dib7000m_i2c_enumeration() function is not used by any public drivers,
however some prototype board use it. So '#if 0' for now, but don't remove it.
Thanks to Patrick Boettcher for clarifying this.
Cc: Patrick Boettcher <patrick.boettcher@desy.de> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans Verkuil [Sat, 6 Sep 2008 18:26:44 +0000 (15:26 -0300)]
V4L/DVB (8940): saa7115: fix saa7111(a) support
The saa7111 support in saa7115.c was missing some features and did not
properly take some of the differences into account. With this patch
saa7115 can be used in the mxb driver instead of saa7111.c.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>