]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years agoV4L/DVB (6732): dsbr100 violates DMA coherency rules
Oliver Neukum [Mon, 3 Dec 2007 09:48:43 +0000 (06:48 -0300)]
V4L/DVB (6732): dsbr100 violates DMA coherency rules

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6731): ivtv: Remove a invalid shadow-variable
Richard Knutsson [Sun, 2 Dec 2007 17:47:01 +0000 (14:47 -0300)]
V4L/DVB (6731): ivtv: Remove a invalid shadow-variable

Remove the shadowing 'struct v4l2_chip_ident *chip', since it already exists
and makes the if-statement useless.

Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6728): tda18271: fix register dump format
Michael Krufky [Sun, 2 Dec 2007 20:37:38 +0000 (17:37 -0300)]
V4L/DVB (6728): tda18271: fix register dump format

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6727): tda18271: convert table lookup loops to functions
Michael Krufky [Sun, 2 Dec 2007 19:36:05 +0000 (16:36 -0300)]
V4L/DVB (6727): tda18271: convert table lookup loops to functions

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6726): tda18271: set image rejection validity
Michael Krufky [Sun, 2 Dec 2007 14:03:57 +0000 (11:03 -0300)]
V4L/DVB (6726): tda18271: set image rejection validity

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6725): tda18271: improve debug flexibility
Michael Krufky [Sun, 2 Dec 2007 05:45:04 +0000 (02:45 -0300)]
V4L/DVB (6725): tda18271: improve debug flexibility

converted debug module option to an or-able setting.

1 = info
2 = table map values
4 = register dumps

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6724): tda18271: remove duplicated code
Michael Krufky [Sun, 2 Dec 2007 05:32:49 +0000 (02:32 -0300)]
V4L/DVB (6724): tda18271: remove duplicated code

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6723): tda18271: only force init once during attach
Michael Krufky [Sat, 1 Dec 2007 20:40:16 +0000 (17:40 -0300)]
V4L/DVB (6723): tda18271: only force init once during attach

Once the image rejection calibration procedure has been successful,
we should not initialize the tuner registers again.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6719): ivtv: ivtv-yuv clean-up + source cropping bug-fix
Ian Armstrong [Tue, 13 Nov 2007 22:15:25 +0000 (19:15 -0300)]
V4L/DVB (6719): ivtv: ivtv-yuv clean-up + source cropping bug-fix

ivtv-yuv code clean up & reformat. Includes minor changes to some debug lines.

Also fixes a bug found during the reformatting, which would cause the
incorrect amount of yuv data to be sent to the card if source cropping
coordinates were used.

Apart from the bug-fix, there should be no functional difference to the
previous version.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6718): ivtv: ivtv yuv format description correction
Ian Armstrong [Mon, 5 Nov 2007 17:30:03 +0000 (14:30 -0300)]
V4L/DVB (6718): ivtv: ivtv yuv format description correction

The driver was incorrectly reporting that it supported YUV 4:2:2 output, when
it is actually YUV 4:2:0. Though I believe the hardware can be pushed to
4:2:2, we don't currently support that.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6717): ivtv: Initial merge of video48 yuv handling into the IVTV_IOC_DMA_FRA...
Ian Armstrong [Mon, 5 Nov 2007 17:27:09 +0000 (14:27 -0300)]
V4L/DVB (6717): ivtv: Initial merge of video48 yuv handling into the IVTV_IOC_DMA_FRAME framework

Previously, all yuv data written to /dev/video48 had only basic support with
no double buffering to avoid display tearing.

With this patch, yuv frames written to video48 are now handled by the existing
IVTV_IOC_DMA_FRAME framework. As such, the frames are hardware buffered to
avoid tearing, and honour scaling mode & field order options. Unlike the
proprietary IVTV_IOC_DMA_FRAME ioctl, all parameters are controlled by the
V4L2 API.

Due to mpeg & yuv output restrictions being different, their V4L2 output
controls have been separated. To control the yuv output, the V4L2 calls must
be done via video48.

If the ivtvfb module is loaded, there will be one side effect to this merge.
The yuv output window will be constrained to the visible framebuffer area. In
the event that a virtual framebuffer size is being used, the limit to the
output size will be the virtual dimensions, but only the portion that falls
within the currently visible area of the framebuffer will be shown.

Like the IVTV_IOC_DMA_FRAME ioctl, the supplied frames must be padded to 720
pixels wide. However the height must only be padded up the nearest multiple
of 32. This would mean an image of 102 lines must be padded to 128. As long
as the true source image size is given, the padding will not be visible in
the final output.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6716): ivtv: yuv interlace mode change
Ian Armstrong [Mon, 22 Oct 2007 17:24:26 +0000 (14:24 -0300)]
V4L/DVB (6716): ivtv: yuv interlace mode change

Interlace mode selection code moved into the frame setup phase, so it's now
run before the frame is loaded into a hardware buffer. Given that it can
affect how a new frame is displayed, it was a bit stupid running it after the
frame was already visible.

A few stray interlace related variables which were linked to individual frames
have now been moved into the yuv_frame_info struct. This means that all
variables linked to a specific frame are in the same place & not scattered.

Minor code reformatting in areas touched by the above changes.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6715): ivtv: Remove unnecessary register update
Ian Armstrong [Sun, 21 Oct 2007 11:33:59 +0000 (08:33 -0300)]
V4L/DVB (6715): ivtv: Remove unnecessary register update

To reduce the number of display register accesses, the yuv code keeps track of
the current video settings. Should there be a change in any single parameter,
it will update the associated display registers to ensure everything is
displayed correctly.

The existing check also looks at the field order for the video. This is not
required, since field reversal does not require any display register changes.

This patch removes the field order from the check.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6714): ivtv: yuv frame parameter fix
Ian Armstrong [Sun, 21 Oct 2007 11:09:10 +0000 (08:09 -0300)]
V4L/DVB (6714): ivtv: yuv frame parameter fix

Inadvertently missed a line when converting code to new hardware buffering
method. In some circumstances, this would lead to a frame being displayed
using parameters belonging to another frame.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6713): ivtv: ivtv_yuv_prep_frame breakup and yuv hardware buffer changes
Ian Armstrong [Sat, 20 Oct 2007 17:52:55 +0000 (14:52 -0300)]
V4L/DVB (6713): ivtv: ivtv_yuv_prep_frame breakup and yuv hardware buffer changes

ivtv_yuv_prep_frame is split in smaller code blocks.

Modified yuv buffer handling on the PVR350 itself. We now cycle through all 8
hardware buffers.

With this patch in place, driver behaviour should remain unchanged from the
existing release.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6712): ivtv: ivtv yuv stream handling change
Ian Armstrong [Tue, 16 Oct 2007 06:21:46 +0000 (03:21 -0300)]
V4L/DVB (6712): ivtv: ivtv yuv stream handling change

Currently the yuv output stream buffer is divided into blocks whose size
depend on the broadcast standard selected during the driver init phase.
However, the standard can be changed after the init phase. This effectively
breaks the yuv output stream handler, since it relies on the different yuv
planes being block aligned.

This patch changes the setup, so that the block size is always the same. The
decoder dma function has been modified to cope with the fact that the second
yuv plane may no longer be block aligned. The start of the yuv frame must
still be at the beginning of a block, so the stream write function has also
been modified to ensure this is always true.

Also, the stream write function will now initiate a yuv dma transfer as soon
as a full frame is ready. It will not wait until the current write request
has completed, or the stream buffer becomes full.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6710): pvrusb2: Recognize ATSC video standard bit values
Mike Isely [Mon, 3 Dec 2007 05:10:04 +0000 (02:10 -0300)]
V4L/DVB (6710): pvrusb2: Recognize ATSC video standard bit values

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6709): pvrusb2: minor rework for default video standard handling
Mike Isely [Mon, 3 Dec 2007 04:47:12 +0000 (01:47 -0300)]
V4L/DVB (6709): pvrusb2: minor rework for default video standard handling

pvrusb2: When a per-device-type default video standard is declared,
handle it in such a way that it can be correctly and unambiguously
reported in the system log.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6708): pvrusb2: Expand comment in device attributes description
Mike Isely [Mon, 3 Dec 2007 04:45:26 +0000 (01:45 -0300)]
V4L/DVB (6708): pvrusb2: Expand comment in device attributes description

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6707): pvrusb2: Remove use of volatile in pipeline control state machine
Mike Isely [Mon, 3 Dec 2007 04:44:43 +0000 (01:44 -0300)]
V4L/DVB (6707): pvrusb2: Remove use of volatile in pipeline control state machine

pvrusb2: Eliminate use of volatile in pipeline control state
variables.  These were all cases of paranoia; upon further review the
overall mechanism employed here should not require use of volatile.
This had originally been done out of paranoia, and I have since been
convinced that the paranoia is not required.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6706): pvrusb2: Remove use of volatile in command sequencer
Mike Isely [Mon, 3 Dec 2007 04:43:23 +0000 (01:43 -0300)]
V4L/DVB (6706): pvrusb2: Remove use of volatile in command sequencer

pvrusb2: Remove use of volatile for command sequencer; these variables
are set by interrupt-context code and we check their state in such a
manner that there should be no race conditions.  This had originally
been done out of paranoia, and I have since been convinced that the
paranoia is not required.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6705): pvrusb2: Implement default standard selection based on device type
Mike Isely [Mon, 3 Dec 2007 02:51:34 +0000 (23:51 -0300)]
V4L/DVB (6705): pvrusb2: Implement default standard selection based on device type

This adds a default video standard setting to the pvr2_device_desc
structure for describing device types.  With this change it is
possible to set a reasonable default standard based on device type.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6703): pvrusb2: Change division to bit-or for tveeprom standards
Roel Kluin [Mon, 3 Dec 2007 02:04:57 +0000 (23:04 -0300)]
V4L/DVB (6703): pvrusb2: Change division to bit-or for tveeprom standards

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6702): pvrusb2: fix typo in comments
Michael Krufky [Tue, 27 Nov 2007 19:58:33 +0000 (16:58 -0300)]
V4L/DVB (6702): pvrusb2: fix typo in comments

Firmware file name(s) for 24xxx devices

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6701): pvrusb2: Enable support for "GOTVIEW USB2.0 DVD2" hardware
Mike Isely [Mon, 26 Nov 2007 05:14:23 +0000 (02:14 -0300)]
V4L/DVB (6701): pvrusb2: Enable support for "GOTVIEW USB2.0 DVD2" hardware

This changeset allows the pvrusb2 driver to operate a new device type
("GOTVIEW USB2.0 DVD2").  Changes amount to defining a new routing
scheme for the device and adding appropriate table entries into
pvrusb2-devattr.c.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6700): pvrusb2: Soften the crashed encoder warning message
Mike Isely [Mon, 26 Nov 2007 05:11:38 +0000 (02:11 -0300)]
V4L/DVB (6700): pvrusb2: Soften the crashed encoder warning message

The pvrusb2 driver has been successfully recovering from a crashed
encoder now for over 2 years.  I think it's time to reduce the
perceived severity of the warning message.  While I'd still very much
like to stop these crashes, the recovery logic is solid enough that
the problem is effectively benign.  No point in panicing the users
over it.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6699): pvrusb2: Use of virtual IR chip is a device-specific attribute
Mike Isely [Mon, 26 Nov 2007 05:09:42 +0000 (02:09 -0300)]
V4L/DVB (6699): pvrusb2: Use of virtual IR chip is a device-specific attribute

For Hauppauge 24xxx devices, the IR receiver is a custom piece of
logic that is very specific to the device.  The pvrusb2 driver can
virtualize this to make it look like a more normal IR receiver found
in other Hauppauge devices.  The decision of whether or not to enable
this virtualization however is a device-specific attribute, thus this
changeset.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6698): pvrusb2: Implement signal routing schemes
Mike Isely [Mon, 26 Nov 2007 05:07:26 +0000 (02:07 -0300)]
V4L/DVB (6698): pvrusb2: Implement signal routing schemes

The exact routing of video and audio signals within a device is a
device-specific attribute.  Hauppauge devices do it one way; other
types of device may route things differently.  Unfortunately it is
rather impractical to define chip-specific routing at the device
attribute level, so instead what happens here is that "schemes" are
defined.  Each chip level interface implements its part of a given
scheme and the scheme as a whole is made into a device specific
attribute controlled via a table entry in pvrusb2-devattr.c.  The only
scheme defined here is for Hauppauge devices, but clearly this opens
the door for other possibilities to follow.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6697): pvrusb2: Existence of Hauppauge ROM is a device-specific attribute
Mike Isely [Mon, 26 Nov 2007 05:04:11 +0000 (02:04 -0300)]
V4L/DVB (6697): pvrusb2: Existence of Hauppauge ROM is a device-specific attribute

Arrange so that the pvrusb2 driver can optionally work without a
Hauppauge ROM being present - which is fairly important for devices
that happen to not come from Hauppauge.  The expected existence of a
Hauppauge ROM is now a device attribute.  The tuner type is now also a
device attribute, which is consulted if there is no ROM.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6696): pvrusb2: Miscellaneous tweaks for controlling tuner type and video...
Mike Isely [Mon, 26 Nov 2007 05:00:51 +0000 (02:00 -0300)]
V4L/DVB (6696): pvrusb2: Miscellaneous tweaks for controlling tuner type and video standard

Correctly mark when a tuner type is set.  Report more faithfully
information about known supported device video standards.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6695): pvrusb2: Implement functions to pass descriptive hardware info
Mike Isely [Mon, 26 Nov 2007 04:58:20 +0000 (01:58 -0300)]
V4L/DVB (6695): pvrusb2: Implement functions to pass descriptive hardware info

Implement additional pvrusb2 device info table entries for a device
identifier and a device description.  Export this information via the
driver's internal API.  Make this information available via the sysfs
driver interface.  Also propagate this information into the v4l2
capability structure.  An app can now retrieve and report a
descriptive string about the particular type of hardware device it is
operating.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6694): pvrusb2: Remove obsolete global hardware type enumeration
Mike Isely [Mon, 26 Nov 2007 04:55:07 +0000 (01:55 -0300)]
V4L/DVB (6694): pvrusb2: Remove obsolete global hardware type enumeration

Device-specific driver behavior is now defined by generic device
characteristics rather than by specific device model information.
With this change, the hardware type field can go away, thus this
change.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6693): pvrusb2: Add pvrusb2-devattr.o to driver build
Mike Isely [Mon, 26 Nov 2007 05:30:20 +0000 (02:30 -0300)]
V4L/DVB (6693): pvrusb2: Add pvrusb2-devattr.o to driver build

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6692): pvrusb2: Centralize device specific attributes into a single place
Mike Isely [Mon, 26 Nov 2007 04:53:12 +0000 (01:53 -0300)]
V4L/DVB (6692): pvrusb2: Centralize device specific attributes into a single place

The pvrusb2 driver currently supports two variants of the Hauppauge
PVR USB2.  However there are other hardware types potentially
supportable, but the driver at the moment is not structured to make it
easy to describe these minor variations.  This changeset is the first
set of changes to make such additional device support possible.
Device attributes are held in several tables all contained within
pvrusb2-devattr.c; all other device-specific driver behavior now
derives from these tables.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6691): pvrusb2: Rework pipeline state control
Mike Isely [Mon, 26 Nov 2007 04:48:52 +0000 (01:48 -0300)]
V4L/DVB (6691): pvrusb2: Rework pipeline state control

This is a new implementation for video pipeline control within the
pvrusb2 driver.  Actual start/stop of the pipeline is moved to the
driver's kernel thread.  Pipeline stages are controlled autonomously
based on surrounding pipeline or application control state.  Kernel
thread management is also cleaned up and moved into the internal
control structure of the driver, solving a set up / tear down race
along the way.  Better failure recovery is implemented with this new
control strategy.  Also with this change comes better control of the
cx23416 encoder, building on additional information learned about the
peculiarities of controlling this part (this information was the
original trigger for this rework).  With this change, overall encoder
stability should be considerably improved.  Yes, this is a large
change for this driver, but due to the nature of the feature being
worked on, the changes are fairly pervasive and would be difficult to
break into smaller pieces with any semblence of step-wise stability.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6688): V4L: fix copy and paste error in dprintk for videobuf-vmalloc.c
Brandon Philips [Sat, 1 Dec 2007 01:37:28 +0000 (22:37 -0300)]
V4L/DVB (6688): V4L: fix copy and paste error in dprintk for videobuf-vmalloc.c

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6687): saa7134: add mute support for radio/analog-in on MD9717 and MD7134
Hermann Pitton [Thu, 29 Nov 2007 00:54:35 +0000 (21:54 -0300)]
V4L/DVB (6687): saa7134: add mute support for radio/analog-in on MD9717 and MD7134

Currently the saa7134 chips only have mute support for the TV input.

Cards with mute from external audio muxes are already fine on the
other inputs and some recent tuners mute at least the radio on exit.
But these mostly hybrid tuners are not fully backward compatible, since
they must power down and mute regardless.

For some included above, the MD7134 knows several, to switch on mute/automute
to the TV input is functional and backward compatible for the applications,
except that the tuners with tda9887 always mute on exit.

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6685): ir-keymaps.c: extra keys on winfast Y04G0033 remote
Michel Lespinasse [Mon, 26 Nov 2007 21:57:10 +0000 (18:57 -0300)]
V4L/DVB (6685): ir-keymaps.c: extra keys on winfast Y04G0033 remote

This change adds support for 4 extra keys on the remote currently being
shipped by leadtek with their "WinFast TV2000 XP/Expert" and
"WinFast PVR2000" cards. The remote P/N seems to be Y04G0033 and
you can see a picture of it here: http://lespinasse.org/y04g0033.jpg

The extra keys are at the bottom and are labeled MCE +VOL, -VOL, +CH, -CH.
I chose to map them to the F21-F24 keycodes, following the precedent of
ir_codes_gotview7135[], so as to differentiate these 'MCE' keys from the
other +VOL, -VOL, +CH, -CH 'arrow' keys higher up on the remote.

Signed-off-by: Michel Lespinasse <walken@zoy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6683): Fix DVB compatibility
Mauro Carvalho Chehab [Sun, 2 Dec 2007 03:02:18 +0000 (00:02 -0300)]
V4L/DVB (6683): Fix DVB compatibility

DVB-S is not supported. Also, there are some QAM6 firmwares for xc3028, but it
is reported that this doesn't work fine.

Thanks to Manu Abraham, Michael Krufky and Patrick Boettcher for their
insights.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6681): tda18271: rename 'debug' to 'tda18271_debug'
Michael Krufky [Fri, 23 Nov 2007 21:14:53 +0000 (18:14 -0300)]
V4L/DVB (6681): tda18271: rename 'debug' to 'tda18271_debug'

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6680): tda18271: move tda18271_map tables to a separate source file
Michael Krufky [Fri, 23 Nov 2007 19:52:15 +0000 (16:52 -0300)]
V4L/DVB (6680): tda18271: move tda18271_map tables to a separate source file

Move tda18271_map tables to a separate source file,
to improve code readability and ease maintenance.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6679): tda8290: force tuner init after attach
Michael Krufky [Fri, 23 Nov 2007 18:08:11 +0000 (15:08 -0300)]
V4L/DVB (6679): tda8290: force tuner init after attach

Force tuner init after attach, then sleep until use.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6678): tda18271: define init callback
Michael Krufky [Thu, 22 Nov 2007 20:13:00 +0000 (17:13 -0300)]
V4L/DVB (6678): tda18271: define init callback

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6677): Fix xc2028 driver for non OFDM
Mauro Carvalho Chehab [Sun, 25 Nov 2007 22:29:22 +0000 (19:29 -0300)]
V4L/DVB (6677): Fix xc2028 driver for non OFDM

A previous patch implemented support for non-OFDM digital TV. However, the
previous bandwidth ofdm parameter were left at the code by mistake.

Thanks to Michael Krufky and Patrick Boettcher for noticing this mistake.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6676): Improve s-code support
Mauro Carvalho Chehab [Sun, 25 Nov 2007 22:26:36 +0000 (19:26 -0300)]
V4L/DVB (6676): Improve s-code support

s-code tables are related to IF frequency used for video demodulation.

The s-codes for analog are automatically loaded, according with video standard.
However, for digital, they will depend on the IF of the demoduler chip. IF of
the demoduler.

Before this patch, only a few IF's where possible to use. This patch allows
selecting any IF defined at firmware file.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6675): Allow selecting the proper SCode table for DTV
Mauro Carvalho Chehab [Sat, 24 Nov 2007 14:07:12 +0000 (11:07 -0300)]
V4L/DVB (6675): Allow selecting the proper SCode table for DTV

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6674): Add support for other DTV types
Mauro Carvalho Chehab [Sat, 24 Nov 2007 13:47:03 +0000 (10:47 -0300)]
V4L/DVB (6674): Add support for other DTV types

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6672): Add support for radio
Mauro Carvalho Chehab [Sat, 24 Nov 2007 13:20:15 +0000 (10:20 -0300)]
V4L/DVB (6672): Add support for radio

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6671): Avoids checking digital/analog at check_firmware
Mauro Carvalho Chehab [Sat, 24 Nov 2007 13:13:42 +0000 (10:13 -0300)]
V4L/DVB (6671): Avoids checking digital/analog at check_firmware

Since check_firmware is called via analog or digital set freq routines, move
type selection to those routines. This avoids having several if's at the code,
and simplifies the source code.

A sideback effect is that implementing radio and other dvb types will become
simpler.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6670): V4L: saa7134: tvaudio cleanups
Maxim Levitsky [Tue, 23 Oct 2007 03:58:59 +0000 (00:58 -0300)]
V4L/DVB (6670): V4L: saa7134: tvaudio cleanups

move some tv-audio initialization code out of tvaudio thread,
and call it on resume too.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6669): Add few missing bits of code to saa7134_resume
Maxim Levitsky [Sun, 4 Nov 2007 21:21:25 +0000 (18:21 -0300)]
V4L/DVB (6669): Add few missing bits of code to saa7134_resume

First the saa7134_initdev waits between saa7134_hwinit1
and saa7134_hwinit2 , thus it is probably wise to do the same in saa7134_resume
some hardware probably needs this.

Call saa7134_irq_video_signalchange in .resume like in saa7134_resume to make
saa7134_resume mirror perfectly the saa7134_initdev although
this call isn't strictly necessary in the saa7134_initdev,
but it won't harm anyway.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6668): Fix theoretical races between IRQ handler and .suspend/resume
Maxim Levitsky [Sun, 4 Nov 2007 22:34:23 +0000 (19:34 -0300)]
V4L/DVB (6668): Fix theoretical races between IRQ handler and .suspend/resume

*dev->insuspend = 1 should be set before synchronize_irq
 *ACK interrupts after synchronize_irq, to make sure there aren't
 pending interrupts.
 *Add barrier before we restart interrupts so the handler will 100%
 see the dev->insuspend

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6667): Fix access to configuration space while in D3
Maxim Levitsky [Sun, 4 Nov 2007 20:59:28 +0000 (17:59 -0300)]
V4L/DVB (6667): Fix access to configuration space while in D3

pci_save_state should be called before pci_set_power_state
and pci_restore_state after pci_set_power_state

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6665b): add ivtv to MAINTAINERS
Hans Verkuil [Sun, 2 Dec 2007 12:35:33 +0000 (09:35 -0300)]
V4L/DVB (6665b): add ivtv to MAINTAINERS

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6665a): finish the VID_HARDWARE_* removal
Adrian Bunk [Sun, 25 Nov 2007 22:04:47 +0000 (19:04 -0300)]
V4L/DVB (6665a): finish the VID_HARDWARE_* removal

This patch removes a few remainders of the VID_HARDWARE_* removal.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
643d01fb38b6f376cced035549f4e193018776e7

16 years agoV4L/DVB (6665): Fix CodingStyle
Mauro Carvalho Chehab [Fri, 23 Nov 2007 17:22:14 +0000 (14:22 -0300)]
V4L/DVB (6665): Fix CodingStyle

thanks to checkpatch.pl

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6664): Add missing USB ID's at CARDLIST.em28xx
Mauro Carvalho Chehab [Fri, 23 Nov 2007 17:20:24 +0000 (14:20 -0300)]
V4L/DVB (6664): Add missing USB ID's at CARDLIST.em28xx

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6662): Fix standard selection for PAL
Mauro Carvalho Chehab [Thu, 22 Nov 2007 14:47:18 +0000 (11:47 -0300)]
V4L/DVB (6662): Fix standard selection for PAL

Not all 8MHz firmware are marked with F8MHz.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6661): Remove firmware reload hack for analog
Mauro Carvalho Chehab [Thu, 22 Nov 2007 15:48:04 +0000 (12:48 -0300)]
V4L/DVB (6661): Remove firmware reload hack for analog

On some cases, xc2028/xc3028 wents into "turn off" mode. It seems that this
happens when very weak signals are tuned. To solve this, specific standard
reaload were done previously. Christopher patches changed this behavior to a
complete firmware reload.

This patch removes the hack. A much cleaner solution for this trouble is just
to sent a xc2028/3028 software reset.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6660): Allow fully configuring xc3028 during xc2028_attach
Mauro Carvalho Chehab [Thu, 22 Nov 2007 15:19:37 +0000 (12:19 -0300)]
V4L/DVB (6660): Allow fully configuring xc3028 during xc2028_attach

xc3028 can be used on some DTV only designs (for example, DVB-S boards). Before
this patch, a DTV only board would need to call set_tuner_config callback.

This patch allows to optionally pass a xc3028_ctrl parameter, via xc3028_config
struct, fully initializing the driver for DTV.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6659): Convert MTS to bitfield
Mauro Carvalho Chehab [Thu, 22 Nov 2007 15:08:53 +0000 (12:08 -0300)]
V4L/DVB (6659): Convert MTS to bitfield

Xc2028.3028 has two type of firmwares: audio-standard specific ones and
baseband MTS firmwares. MTS firmwares provide stereo decoding for 6 MHz
BTSC/EIAJ and for monoaural audio decoding on 8 MHz firmwares.

It seems that the option to use MTS or a standard-specific audio decoding
depends on the way xc2028/3028 is connected.

Instead of wasting 32 (or 64 bits) to signalize if the driver needs to use MTS
firmware, this patch converts it to a bitfield that can be shared with other
proprieties of xc2028/3028.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6658): Sets a default std, if not specified
Mauro Carvalho Chehab [Fri, 23 Nov 2007 14:36:18 +0000 (11:36 -0300)]
V4L/DVB (6658): Sets a default std, if not specified

Some drivers call set_frequency before selecting the video standard. Before
this patch, an invalid standard ID could be assumed.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6657): Fix standard selection for PAL/M, PAL/N, PAL/Nc and NTSC
Mauro Carvalho Chehab [Thu, 22 Nov 2007 14:47:18 +0000 (11:47 -0300)]
V4L/DVB (6657): Fix standard selection for PAL/M, PAL/N, PAL/Nc and NTSC

Those standards use 6 MHz firmware.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6656): zl10353: store frequencies in 0.1kHz to eliminate rounding errors
Chris Pascoe [Tue, 20 Nov 2007 11:17:54 +0000 (08:17 -0300)]
V4L/DVB (6656): zl10353: store frequencies in 0.1kHz to eliminate rounding errors

Whilst reanalysing my formulas I realised it was no longer possible to get the
right values for a 36.1667MHz IF due to rounding problems.

Storing frequencies in units of 0.1kHz makes it possible to calculate these
again correctly.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6655): Add support for MT352-based DViCO FusionHDTV DVB-T NANO devices
Chris Pascoe [Tue, 20 Nov 2007 06:34:11 +0000 (03:34 -0300)]
V4L/DVB (6655): Add support for MT352-based DViCO FusionHDTV DVB-T NANO devices

There are at least three variants of the DViCO FusionHDTV DVB-T NANO that
share the same USB device ID.  The first (ZL10353 w/ firmware in ROM) is
already supported; the latter two both require firmware and have either
an MT352 or ZL10353 demodulator, and have a different IR receiver from the
first.

This introduces a new identify_state that can tell the difference between a
"warm" device which is running the embedded firmware, and a "cold" device
that needs us to upload firmware to it before it will work.  We patch the
uploaded device ID (like we do for other bluebird devices) to make it easy
to identify the particular device variant when it reattaches.

NB: These devices use a different firmware file from previous bluebird
    devices.  You need a new firmware file to make this work.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6654): mt352: support oversampled IF input
Chris Pascoe [Tue, 20 Nov 2007 05:49:41 +0000 (02:49 -0300)]
V4L/DVB (6654): mt352: support oversampled IF input

Rework the input frequency calculation so that it produces the right values
when the ADC oversamples the IF input.

This means MT352 devices can now process a near-zero IF (according to the,
specs 4.57MHz is supported with the default crystal).

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6653): Add support for the DViCO FusionHDTV NANO2 w/ZL10353 and firmware
Chris Pascoe [Tue, 20 Nov 2007 04:53:31 +0000 (01:53 -0300)]
V4L/DVB (6653): Add support for the DViCO FusionHDTV NANO2 w/ZL10353 and firmware

Add support for the DViCO FusionHDTV DVB-T NANO with zl10353 demodulator and
firmware in ROM on the device.

Again, this is based on the great work of Mike Krufky with my modifications
to use the in-tree XC2028 driver.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6652): xc2028: try non-8MHZ init1 firmware
Chris Pascoe [Tue, 20 Nov 2007 02:43:13 +0000 (23:43 -0300)]
V4L/DVB (6652): xc2028: try non-8MHZ init1 firmware

When loading init1 firmware, there may not be an 8MHz specific version.
Load the non-8MHz version if it exists.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific...
Chris Pascoe [Tue, 20 Nov 2007 02:18:36 +0000 (23:18 -0300)]
V4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific types

When searching for standard-specific analog firmware, only certain
type bits are valid, much like for DTV.  Mask them off when finding
the firmware to load.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6650): xc2028: base firmwares should have std0
Chris Pascoe [Tue, 20 Nov 2007 02:11:37 +0000 (23:11 -0300)]
V4L/DVB (6650): xc2028: base firmwares should have std0

When loading BASE firmware, we must use std = 0.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6649): Add support for the DViCO FusionHDTV Dual Digital 4
Chris Pascoe [Tue, 20 Nov 2007 00:57:10 +0000 (21:57 -0300)]
V4L/DVB (6649): Add support for the DViCO FusionHDTV Dual Digital 4

Add support for DViCO's Dual Digital 4 with xc3028 tuner, zl10353 DVB-T
demodulator and a new-style I2C IR remote control receiver.

This would not have been possible without the work of and advice from
Mike Krufky, who originally got the Dual Digital 4 and second-gen DVB-T
NANO devices working with the out-of-tree XC3028 driver.

I converted it to use the in-tree XC3028 driver (after making it suitable
for our use), and added the IR remote control support based on his advice.

NB: a firmware package is required to use this device.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6648): xc2028: add sleep hook
Chris Pascoe [Mon, 19 Nov 2007 14:41:20 +0000 (11:41 -0300)]
V4L/DVB (6648): xc2028: add sleep hook

Add sleep method to enable putting the tuner into standby mode.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6647): xc2028: retry firmware load if tuner does not respond
Chris Pascoe [Mon, 19 Nov 2007 14:35:45 +0000 (11:35 -0300)]
V4L/DVB (6647): xc2028: retry firmware load if tuner does not respond

In practice, the tuner occasionally fails to respond correctly after a
firmware load.  Retry the firmware load if the firmware/hardware version
we read back from the tuner after programming does not match what we
expect.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6646): xc2028: rework firmware (re)loading process
Chris Pascoe [Mon, 19 Nov 2007 14:22:03 +0000 (11:22 -0300)]
V4L/DVB (6646): xc2028: rework firmware (re)loading process

Define a list of valid "firmware types" for each combination of BASE,
DTV and SCODEs.  By masking the appropriate firmware bits off we can
just use one "type" for the firmware searching and also flag when we
are looking for a BASE, DTV or SCODE type firmware.  This makes it
much easier to track if we need to change device modes or flash an
individual firmware part.

Add a structure to remember what firmware properties we have.  This
contains the currently loaded/wanted  base firmware (type), video std
(id), video std requested (std_req), scode file and number in use.

Incorporate said structure into the tuner private data.

When checking whether the current firmware needs to be reloaded, first
figure out exactly what "type" of firmware we want (base, std and
scode), and then proceed to load the appropriate matching base,
std-specific and scode records iff there are any changes required.
This removes guesswork from the process because we no longer need to
individually code a check for every tuning parameter's interactions.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6645): xc2028: allow selection of D2633 firmware
Chris Pascoe [Mon, 19 Nov 2007 13:23:17 +0000 (10:23 -0300)]
V4L/DVB (6645): xc2028: allow selection of D2633 firmware

Add a bit to select D2633 DTV firmware to struct xc2028_ctrl, so that it can
be enabled via .set_config.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6644): xc2028: use correct offset into scode firmware
Chris Pascoe [Mon, 19 Nov 2007 13:12:45 +0000 (10:12 -0300)]
V4L/DVB (6644): xc2028: use correct offset into scode firmware

When validating and loading SCODE firmware we need to take into account the
two-byte size header before each entry.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6643): xc2028: use best match instead of first partial match during firmware...
Chris Pascoe [Mon, 19 Nov 2007 13:04:06 +0000 (10:04 -0300)]
V4L/DVB (6643): xc2028: use best match instead of first partial match during firmware selection

Rather than picking the first video standard firmware that supports any of
the standards that the user has requested, try to select one that supports
as many of them as possible.  This improves the likelihood that the firmware
we select will support the user's desired TV standard.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6642): xc2028: don't duplicate max_len in priv
Chris Pascoe [Mon, 19 Nov 2007 12:29:59 +0000 (09:29 -0300)]
V4L/DVB (6642): xc2028: don't duplicate max_len in priv

There is no need to duplicate the max_len field from the ctrl structure
in the private data.  If we use it directly from priv->ctrl, we can memcpy
the structure (apart from strings) to reduce maintenance as it grows.

Enforce a minimum max_len length of 8 data bytes (+ 1 address byte) as seems
to be required by the tuner.

Also, use kstrdup instead of open coding the string duplication.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6641): xc2028: correct tuner offset for 7MHz DTV
Chris Pascoe [Mon, 19 Nov 2007 09:35:26 +0000 (06:35 -0300)]
V4L/DVB (6641): xc2028: correct tuner offset for 7MHz DTV

7MHz bandwidth DVB-T needs an adjusted offset at the PLL to ensure the IF
output is correctly centered.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6640): xc2028: correctly select 8MHz firmware
Chris Pascoe [Mon, 19 Nov 2007 09:33:16 +0000 (06:33 -0300)]
V4L/DVB (6640): xc2028: correctly select 8MHz firmware

We were using priv->bandwidth to select the base firmware to load, not the
requested bandwidth value, oops.  Also, 7MHz Digital TV needs 8MHz base
firmware loaded.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6639): xc2028: correct divisor length
Chris Pascoe [Mon, 19 Nov 2007 09:20:17 +0000 (06:20 -0300)]
V4L/DVB (6639): xc2028: correct divisor length

The frequency divisor should only be four bytes long.  Also, display the
frequency and divisor correctly in the debug output.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6638): xc2028: firmware loading cleanup
Chris Pascoe [Mon, 19 Nov 2007 09:06:08 +0000 (06:06 -0300)]
V4L/DVB (6638): xc2028: firmware loading cleanup

Hold the private lock over set_config and set priv->firm_size to 0 after a
failed firmware load to prevent firmware accidentally being freed on us.

Clean up the firmware load/error messages somewhat and rename priv->version
to priv->firm_version to make it clear which "version" it is.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6637): xc2028: add missing break
Chris Pascoe [Mon, 19 Nov 2007 07:53:50 +0000 (04:53 -0300)]
V4L/DVB (6637): xc2028: add missing break

Add break to stop us from following the default failure path even upon success.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6636): xc2028: protect device list
Chris Pascoe [Mon, 19 Nov 2007 07:45:38 +0000 (04:45 -0300)]
V4L/DVB (6636): xc2028: protect device list

Protect refcount changes and modifications to xc2028_list with a mutex.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6635): xc2028: v4l2_std_id needs to be long long to display completely
Chris Pascoe [Mon, 19 Nov 2007 07:38:53 +0000 (04:38 -0300)]
V4L/DVB (6635): xc2028: v4l2_std_id needs to be long long to display completely

Cast v4l2_std_id variables to unsigned long long so they will printk properly.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6634): xc2028: error messages missing whitespace
Chris Pascoe [Mon, 19 Nov 2007 07:34:29 +0000 (04:34 -0300)]
V4L/DVB (6634): xc2028: error messages missing whitespace

Fix some missing spaces in errors that may be emitted during attach failure.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6633): xc2028: make register reads atomic
Chris Pascoe [Mon, 19 Nov 2007 07:31:58 +0000 (04:31 -0300)]
V4L/DVB (6633): xc2028: make register reads atomic

Issuing register reads as a separate address write and data read transactions
means that other I2C activity could occur in between and state could get out
of sync.  Issue both the write and read in a single transaction so that the
i2c layer can prevent other users accessing the bus until we are complete.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6632): xc2028: fix inverted logic in audio standard check
Chris Pascoe [Mon, 19 Nov 2007 07:16:47 +0000 (04:16 -0300)]
V4L/DVB (6632): xc2028: fix inverted logic in audio standard check

strcasecmp returns 0 on match, not true.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6631): xc2028: eliminate i2c macro side-effects
Chris Pascoe [Mon, 19 Nov 2007 07:14:23 +0000 (04:14 -0300)]
V4L/DVB (6631): xc2028: eliminate i2c macro side-effects

The I2C macros have side effects and send_seq could cause a return from
a function with a mutex held.  Change them to behave like real functions.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6630): zl10353: calculate input frequency register instead of using hardcode...
Chris Pascoe [Mon, 19 Nov 2007 06:55:45 +0000 (03:55 -0300)]
V4L/DVB (6630): zl10353: calculate input frequency register instead of using hardcoded value

Now we know the zl10353's correct ADC clock, we can calculate the input
frequency registers correctly instead of just blindly setting them.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6628): zl10353: Improve support for boards without a tuner on secondary i2c
Chris Pascoe [Mon, 19 Nov 2007 06:32:06 +0000 (03:32 -0300)]
V4L/DVB (6628): zl10353: Improve support for boards without a tuner on secondary i2c

Issue FSM_GO instead of TUNER_GO if there is no tuner attached to the
secondary i2c bus.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6627): CXUSB: handle write then read from different address
Chris Pascoe [Mon, 19 Nov 2007 06:05:09 +0000 (03:05 -0300)]
V4L/DVB (6627): CXUSB: handle write then read from different address

The path to perform a read immediately after a write was not checking that
the address being read from was the same as the one that was written.

Handling this case correctly should mean that we now can handle more than
two i2c messages at a time.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6626): CXUSB: support only-read i2c requests
Chris Pascoe [Mon, 19 Nov 2007 06:01:22 +0000 (03:01 -0300)]
V4L/DVB (6626): CXUSB: support only-read i2c requests

Any i2c read request that was not immediately preceded by a write request was
incorrectly taking the write path.  Add the capability to handle individual
read requests.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6625): CXUSB: i2c transfer failure notification
Chris Pascoe [Mon, 19 Nov 2007 05:48:27 +0000 (02:48 -0300)]
V4L/DVB (6625): CXUSB: i2c transfer failure notification

The i2c master_xfer routine should return a negative result if not all
transfers completed successfully.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6624): CXUSB: return control message transfer result to caller
Chris Pascoe [Mon, 19 Nov 2007 05:42:44 +0000 (02:42 -0300)]
V4L/DVB (6624): CXUSB: return control message transfer result to caller

Callers to cxusb_ctrl_msg currently do not receive any indication that their
transfer failed.  Return the true return code from dvb_usb_generic_{rw,write}.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6623): remove saa7134-oss
Adrian Bunk [Wed, 21 Nov 2007 22:55:52 +0000 (19:55 -0300)]
V4L/DVB (6623): remove saa7134-oss

The saa7134-oss is deprecated for quite some time, it's the only remaining OSS
user outside of sound/oss/, and considering how few and what kind of
soundcards are left supported by OSS I hardly see any use cases left.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6622): tda827x: prevent possible NULL pointer dereference in tda827xa_lna_gain
Michael Krufky [Thu, 22 Nov 2007 17:40:25 +0000 (14:40 -0300)]
V4L/DVB (6622): tda827x: prevent possible NULL pointer dereference in tda827xa_lna_gain

If tda827x_config hasn't been defined, exit the function.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6621): tda827x: fix NULL pointer dereference during tda827x_probe_version
Michael Krufky [Sun, 18 Nov 2007 17:15:42 +0000 (14:15 -0300)]
V4L/DVB (6621): tda827x: fix NULL pointer dereference during tda827x_probe_version

Fix the following oops:

[  750.807586] CPU:    1
[  750.807587] EIP:    0060:[<f9dde2a3>]    Tainted: P       VLI
[  750.807589] EFLAGS: 00010296   (2.6.22-14-generic #1)
[  750.807599] EIP is at tda827x_probe_version+0xc3/0x130 [tda827x]
[  750.807603] eax: 00000000   ebx: f5a45a00   ecx: 00000000   edx: 00000001
[  750.807607] esi: f9de05ac   edi: e9b897e0   ebp: ed8015ac   esp: ed735f58
[  750.807611] ds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068
[  750.807615] Process kdvb-fe-1 (pid: 10662, ti=ed734000 task=d3b76530 task.ti=ed734000)
[  750.807618] Stack: f9e23972 00000038 ed735fd0 00010060 41ae0001 ed735f73 88b89608 e9b89608
[  750.807629]        e9b89608 ed801400 f9dde338 e9b89608 f9b2a46b 000000ae 00000a18 d3b76640
[  750.807639]        fffffffc f9b2bad6 00000003 f4433e68 e962b8c0 f4433e64 00000292 ed735fd0
[  750.807649] Call Trace:
[  750.807653]  [<f9e23972>] tda10046_init+0x2d2/0x6c0 [tda1004x]
[  750.807700]  [<f9dde338>] tda827x_initial_init+0x8/0x20 [tda827x]
[  750.807713]  [<f9b2a46b>] dvb_frontend_init+0x2b/0x60 [dvb_core]
[  750.807745]  [<f9b2bad6>] dvb_frontend_thread+0x66/0x2f0 [dvb_core]
[  750.807780]  [complete+64/96] complete+0x40/0x60
[  750.807805]  [<f9b2ba70>] dvb_frontend_thread+0x0/0x2f0 [dvb_core]
[  750.807822]  [kthread+66/112] kthread+0x42/0x70
[  750.807828]  [kthread+0/112] kthread+0x0/0x70
[  750.807841]  [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10
[  750.807869]  =======================
[  750.807872] Code: 8b 74 24 20 8b 7c 24 24 83 c4 28 c3 8b 0d 00 0c de f9 85 c9 75 42 be e0 04 de f9 81 c7 0c 01 00 00 b9 33 00 00 00 f3 a5 8b 43 08 <c7> 40 14 50 e3 dd f9 8b 5c 24 1c 31 c0 8b 74 24 20 8b 7c 24 24
[  750.807925] EIP: [<f9dde2a3>] tda827x_probe_version+0xc3/0x130 [tda827x] SS:ESP 0068:ed735f58

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6620): kconfig: VIDEO_SAA7134 must select VIDEO_TVEEPROM
Michael Krufky [Thu, 22 Nov 2007 17:15:34 +0000 (14:15 -0300)]
V4L/DVB (6620): kconfig: VIDEO_SAA7134 must select VIDEO_TVEEPROM

The ability to read Hauppauge eeprom's was recently added to saa7134,
so we must build the tveeprom module.

Thanks to Matthias Schwarzott for pointing this out.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
16 years agoV4L/DVB (6619): Use MTS firmware for the HVR-900
Aidan Thornton [Tue, 20 Nov 2007 18:25:08 +0000 (15:25 -0300)]
V4L/DVB (6619): Use MTS firmware for the HVR-900

The HVR-900 requires the MTS version of the xc3028 firmware in order
to get any sound. The below patch selects this firmware variant on
HVR-900 cards, as well as splitting the HVR-950 into its own entry
(since I don't know if it uses the MTS variant and it will have to be
split off eventually anyway).

Signed-off-by: Aidan Thornton <makosoft@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>