Commit Graph

34356 Commits

Author SHA1 Message Date
Steven Toth 8c70017f57 V4L/DVB (7044): XC5000: Fix support for HVR1500Q broken by patch 1
From Zhang: This patch fixes support for the HVR1500Q which was broken
when the xc5000 analog patch was added.

Patch committed as-is, cleanups to follows .... Steve

Signed-off-by: Chaogui Zhang <czhang1974@gmail.com>
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:06 -02:00
Steven Toth 60464da8b1 V4L/DVB (7043): New card supported(partially): Pinnacle 800i
From Zhang: This patch continues the support for the Pinnacle HD 800i.

Patch committed as-is, cleanups to follow ... Steve

Signed-off-by: Chaogui Zhang <czhang1974@gmail.com>
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:06 -02:00
Steven Toth 27c685a4b0 V4L/DVB (7042): xc5000: Tuner analog support
From Zhang: This an updated patch that adds analog support for
the xc5000 tuner driver. it was tested on a Pinnacle PCTV HD 800i
card (patches to follow).

Patch commited as-is, cleanup to follow ... Steve.

Signed-off-by: Chaogui Zhang <czhang1974@gmail.com>
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:05 -02:00
Steven Toth dfc1c08aab V4L/DVB (7041): s5h1409: Bug fix for parallel support
Parallel support was not working with the s5h1409 and the Pinnacle HD800i.
This patch fixes the demodulator driver and ensures that all existing
s5h1409 based products configure the demodulator correctly.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:05 -02:00
Mauro Carvalho Chehab 387d447776 V4L/DVB (7039): Reorder headers
The backports weren't tested, but compile fine.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:04 -02:00
Tobias Lorenz 78656acdcf V4L/DVB (7038): USB radio driver for Silicon Labs Si470x FM Radio Receivers
this patch adds a new driver for the Silicon Labs Si470x FM Radio Receiver. It
should also work for the identical ADS/Tech FM Radio Receiver (formerly
Instant FM Music) as soon as I find out the USB Vendor and Product ID.

The driver is inspired by several other USB and radio drivers, but mainly from
the D-Link DSB-R100 USB radio (dsbr100.c).

The USB stick currently has an Si4701 FM RDS radio receiver. But the other
Si470x devices are pin and register compatible, so that in the future the
driver can easily be patched to support these too. Therefore I named the
driver radio-si470x and the configuration option usb-si470x.

The driver itself just provides the control function over the radio. For
getting audio back, the device support the USB audio class, which is
implemented in the already existing driver.

I tested the driver in the last days, until it now satisfies all my
functionality and robustness requirements. The application I used for testing
was kradio.

Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:03 -02:00
Zoltan Devai 438468359e V4L/DVB (7037): Fix build breakage of the bttv driver, when advanced debugging is not enabled
Signed-off-by: Zoltan Devai <zdevai@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:03 -02:00
Julia Lawall f37fdf3ff7 V4L/DVB (7036): radio: Use video_device_release rather than kfree
The file drivers/media/video/videodev.c defines both video_device_alloc and
video_device_release.  These are essentially just kzmalloc and kfree,
respectively, but it seems better to use video_device_release, as done in
the other media files, rather than kfree, in case the implementation some
day changes.

The problem was found using the following semantic match.
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T,T1,T2;
identifier E;
statement S;
expression x1,x2,x3;
int ret;
@@

  T E;
  ...
* E = video_device_alloc(...);
  if (E == NULL) S
  ... when != video_device_release(...,(T1)E,...)
      when != if (E != NULL) { ... video_device_release(...,(T1)E,...); ...}
      when != x1 = (T1)E
      when != E = x3;
      when any
  if (...) {
    ... when != video_device_release(...,(T2)E,...)
        when != if (E != NULL) { ... video_device_release(...,(T2)E,...); ...}
        when != x2 = (T2)E
(
*   return;
|
*   return ret;
)
  }
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:02 -02:00
Julia Lawall a2a9b1eceb V4L/DVB (7035): drivers/media/common: Add missing video_device_release
Video_device_alloc returns the result of a kzalloc.  In this case, the
value is stored in a local variable which is not copied elsewhere before
the point of the error return (video_register_device does not save its
first argument anywhere if it returns a negative value).  Thus, a
video_device_release it needed before the error return.

The problem was found using the following semantic match.
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
type T,T1,T2;
identifier E;
statement S;
expression x1,x2,x3;
int ret;
@@

  T E;
  ...
* E = video_device_alloc(...);
  if (E == NULL) S
  ... when != video_device_release(...,(T1)E,...)
      when != if (E != NULL) { ... video_device_release(...,(T1)E,...); ...}
      when != x1 = (T1)E
      when != E = x3;
      when any
  if (...) {
    ... when != video_device_release(...,(T2)E,...)
        when != if (E != NULL) { ... video_device_release(...,(T2)E,...); ...}
        when != x2 = (T2)E
(
*   return;
|
*   return ret;
)
  }
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
CC: Oliver Endriss <o.endriss@gmx.de>
CC: Michael Hunold <michael@mihu.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:02 -02:00
Michael Krufky bc835d80d9 V4L/DVB (7032): tda18271: tda18271_cal_on_startup should be declared static
This module option variable is only handled within the file tda18271-fe.c -

Declare this variable as static.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:01 -02:00
Michael Krufky 99beeee9e9 V4L/DVB (7030): Kconfig: add missing selections for VIDEO_PVRUSB2
VIDEO_PVRUSB2 must select:
VIDEO_SAA711X, VIDEO_CX25840, VIDEO_MSP3400, and VIDEO_WM8775

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:01 -02:00
Michael Krufky 0f96251e7b V4L/DVB (7029): tda18271: provide a choice whether to perform rf cal on init or on first tune
If module option "cal" is set to 1, the ~22 sec rf tracking filter calibration
sequence will be invoked on startup.  Otherwise, the calibration will take
place during the first tune.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:05:00 -02:00
Michael Krufky 839c6c96d0 V4L/DVB (7028): tda18271: test RF_CAL_OK to see if we need additional RF calibration
Test RF_CAL_OK to see if we need to perform the RF tracking filter
calibration after returning from standby.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:59 -02:00
Michael Krufky 518d87399b V4L/DVB (7027): tda18271: put the device in standby mode during sleep()
Add function, tda18271_set_standby_mode.

During sleep, enter standby mode with slave tuner output enabled,
loop through on and xtal oscillator on.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:58 -02:00
Michael Krufky 6bfa665724 V4L/DVB (7026): tda18271: report when the RF tracking filter calibration has completed
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:58 -02:00
Thierry MERLE 6200bbaa5b V4L/DVB (7024): usbvision: YUV to RGB conversion fixes
All YUV to RGB conversions in usbvision were reverted
(conversion to BGR but saying RGB to the application)

Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Acked-by: Dwaine Garden <DwaineGarden@rogers.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:57 -02:00
Mauro Carvalho Chehab 1f8d30083a V4L/DVB (7023): Fix a regresion left by changeset 7e65d6e8f6df
Changeset 7e65d6e8f6df removed a very bad hack on mmap(). However, the fixes
weren't considering usermap and overlay memory models. This were breaking
direct reading from /dev/video?, used mostly by mpeg aware drivers.

Thanks to Steven Toth <stoth@linuxtv.org> for reporting the issue and
bissecting it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:57 -02:00
Mauro Carvalho Chehab dfd8c04ec1 V4L/DVB (7022): Fix timestamp presentation on vivi driver
Due to date overflow, vivi were not working fine anymore.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:56 -02:00
Mauro Carvalho Chehab c8793b035d V4L/DVB (7021): Move all board specific configuration to em28xx-cards.c
This cleanup moves the board-specific configurations to em28xx-cards.c.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:55 -02:00
Mauro Carvalho Chehab 15b9becc68 V4L/DVB (7020): Add USB ID for a newer variant of Hauppauge WinTV USB2
Thanks to Jeroen Janssen <Jeroen.Janssen@vub.ac.be>

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:54 -02:00
Jaime Velasco Juan ec16dae545 V4L/DVB (7019): V4L: add support for Syntek DC1125 webcams
This driver supports cameras with USB ID 174f:a311 or 05e1:0501,
and the ov965x sensors. These devices are found in some Asus laptops
and probably somewhere else.

It is based on the stk11xx driver written by Nicolas Vivien

Signed-off-by: Jaime Velasco Juan <jsagarribay@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:54 -02:00
Hermann Pitton b6667e5fb8 V4L/DVB (7017): saa7134: add MSI TV@nywhere Plus with the older tda8275 tuner
Thanks go to Mark Schultz for the initial contribution and to
Dean Hilkewich for testing it again.

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:52 -02:00
Hermann Pitton a28cb828ef V4L/DVB (7016): saa7134: remove the Avermedia Super 007 from eeprom detection
saa7134: remove the Avermedia Super 007 from eeprom detection

The card made it into the Philips' Tigers eeprom detection and falls through.
Since it has attracted already others to follow, which are wrongly identified
as TIGER_S then, move it to the usual analog initialization.

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:52 -02:00
Steven Toth 4513fc696e V4L/DVB (7014): cx23885: dprintk macro cleanup
Added missing do { } while (0)

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:51 -02:00
Brett T. Warden d685a483b8 V4L/DVB (7013): bw-qcam: add module parameter 'force_init' to skip polite auto-detection prior to direct initialization
Setting force_init=1 bypasses the friendly auto-detection by polling the
status register, and instead attempts to initialize the qcam directly.  Not
friendly to other parallel devices, but much more reliable than the
auto-detection.

Signed-off-by: Brett T. Warden <brett.warden@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:51 -02:00
Steven Toth a19602f26a V4L/DVB (7011): cx23885: Cleanup of compiler defines and warnings
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:51 -02:00
Steven Toth 21a7809192 V4L/DVB (7010): cx23885: Small cleanup
cx23885: Small cleanup

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:50 -02:00
Steven Toth e47f30b140 V4L/DVB (7009): cx23885: Video and VBI related files
cx23885: Video and VBI related files.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:50 -02:00
Steven Toth a57ed8a1f7 V4L/DVB (7008): s5h1409: Ensure the silicon is initialized during attach
If not it impacts on analog tuner quality.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:50 -02:00
Steven Toth 7b8880140f V4L/DVB (7007): cx23885: Add basic video support for the HVR1800
This enabled basic preview NTSC and PAL support for the HVR1800.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:49 -02:00
Steven Toth c771261330 V4L/DVB (7006): cx23885: Track the board clock frequency and allow overrides
The cx23885/6/8 all have different clock rates, this patch allows
the core to compensate, and developers to allow vendor specific
overrides. This patches will be used by future analog video
and encoder patches.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:49 -02:00
Steven Toth 69ad6e56ba V4L/DVB (7005): cx23885: SRAM reallocation prior to analog video implementation
We need to clear space large enough for the video and encoder fifos.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:48 -02:00
Steven Toth 5206d6ec36 V4L/DVB (7004): cx23885: Ensure HVR1800 TDA8295A is reset fully on module load
Failure to do this means that a full system reboot is required if the
part hangs.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:48 -02:00
Steven Toth 0ac5881aef V4L/DVB (7003): cx23885: Add support for device revision detection
Each version of the cx23885/7/8 silicon has different build revs.
We'll use this internal revision to work around bugs and known
issues in the video and encoder related patches.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:47 -02:00
Steven Toth f234081bc5 V4L/DVB (7002): cx25840: Add basic CX23885 AVCore support
The cx23885/7/8 PCIe bridge has an internal AVCore modelled on
the cx2584x family. Many of the registers positions are identical
but some moved. The register values are also different because
the different bridges run at different clock rates.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:47 -02:00
Mauro Carvalho Chehab d05051c82e V4L/DVB (6997): Replace a very dirty hack on videobuf for a clean wait_event
In order to videobuf_iolock to work, mmap_mapper should be called first.
Otherwise, an OOPS is generated.

On some cases, .mmap file handler used to took some time to be called. On those
situations, mmap_mmapper() were called after iolock.

This patch properly waits for mmap_mapper to be called, otherwise generating an
error.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:46 -02:00
Thierry MERLE c6243d9c3d V4L/DVB (6995): ubvision: add adjust_X_Offset/adjust_Y_Offset parms
Add adjust_X_Offset/adjust_Y_Offset module parameters to allow users
to tune X and Y picture offsets for their almost-working tuners without
repetitive recompilation.

Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:46 -02:00
Thierry MERLE eeec4b3853 V4L/DVB (6994): usbvision: add Pinnacle Studio PCTV USB (NTSC) FM V3
Add the "Pinnacle Studio PCTV USB (NTSC) FM" device.
This is the third occurrence of the same device designation...

Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:46 -02:00
hermann pitton 6d8ea8621f V4L/DVB (6992): saa7134: remove Beholder devices without eeprom from auto detection
As in the past, we should not allow to auto detect like this,
since all saa7130 and saa7134 cards without eeprom will be detected
as such Beholder cards then.

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:45 -02:00
Michael Krufky 006ed1ecf2 V4L/DVB (6989): tda18271: clean up chip id logic in tda829x_release
This test is easier to read.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:45 -02:00
Michael Krufky cf04d29c48 V4L/DVB (6988): tda18271: give calibration debug a separate debug mask
We don't usually want to see the calibration debug messages, but sometimes
it is useful.  Assign it to a separate debug mask.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:44 -02:00
Michael Krufky c353f42f75 V4L/DVB (6987): tda18271: add support for fm radio
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:44 -02:00
Michael Krufky a4f263b587 V4L/DVB (6986): tda18271: share state between analog and digital tuner instances
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:43 -02:00
Mauro Carvalho Chehab b3d98135aa V4L/DVB (6981): Fix bugzillas 9686 and 9691
IR were not working for Winfast XP 2000 TV.

Gabor Nyekhelyi <n0gabor@vipmail.hu> wrote a hack some time ago:
http://marc.info/?l=linux-video&m=116362609323281&w=2

This patch fixes CodingStyle and commits the hack. I suspect that the proper
solution would be to find the proper mask_keydown for this IR. Anyway, better
to have this patch as a workaround.

Thanks to Stafan Talpalaru <stefantalpalaru@yahoo.com> for pointing the issue.
CC: Gabor Nyekhelyi <n0gabor@vipmail.hu>
CC: Stafan Talpalaru <stefantalpalaru@yahoo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:43 -02:00
Michael Krufky 8d316bf54b V4L/DVB (6979): tda18271: use a mutex to protect state in critical sections
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:43 -02:00
Michael Krufky ccbac9bb17 V4L/DVB (6978): tda18271: store frequency and bandwidth after successful tune
Store last tuned frequency & bandwidth after successful tune.

Clean up tune functions -- remove pointer to tune function in
state structure, instead call tune function based on priv->id.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:42 -02:00
Michael Krufky 09f83c4fc0 V4L/DVB (6977): tda18271: clean up calibration initialization procedures
Always initialize registers during attach.

Perform IR Calibration during init if needed.
Perform RF Calibration during init if needed for C2, only.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:41 -02:00
Andrew Morton 98512f7b36 V4L/DVB (6976): drivers/media/radio/radio-sf16fmr2.c: fix error handling
video_register_device() returns -EFOO on errr, not -1.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9699

Reported-By: <devzero@web.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:41 -02:00
Mauro Carvalho Chehab 1434bc0cbb V4L/DVB (6975): Add missing entry for Beholder BeholdTV 407
Acked-by: Andrey J. Melnikov <temnota@kmv.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:41 -02:00
Mauro Carvalho Chehab 616f8878bc V4L/DVB (6974): Fix codingStyle
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:40 -02:00
Andrey J. Melnikoff (TEMHOTA) e8018c9e78 V4L/DVB (6973): Add Beholder TV 401/405/407/409/505/507/609/M6 support
This patch updates cardlist for Beholder TV tuners:
old models (with GPIO ir) 401, 403, 405, 407, 409, 505, 507
and add support for 607, 609, M6 cards with new i2c-ir.

Signed-off-by: Igor Kuznetsov <igk72@yandex.ru>
Signed-off-by: Andrey J. Melnikov <temnota@kmv.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:40 -02:00
Mauro Carvalho Chehab 3f4dfe2acf V4L/DVB (6970): Request snd-usb-audio for devices with Audio Class support
Before this patch, only Vendor Class audio support were loaded. This means that
older em28xx devices won't have digital audio support loaded.

This patch changes the logic to auto load eighter snd-usb-audio, for devices
with USB Audio Class or em28xx-alsa, for devices with USB Vendor Class.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:39 -02:00
Mauro Carvalho Chehab a4950134d4 V4L/DVB (6969): Avoid causing regressions for non-HVR950 boards
Only HVR950 has analog_gpio configured. It makes no sense to set gpio to 0 for
other boards. Better to add a test, while this var is not set for all xc3028
devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:39 -02:00
Michael Krufky 11fcd47030 V4L/DVB (6967): pvrusb2: add support for Hauppauge WinTV PVR-USB2 Model 75xxx
Create a device description and enable autodetection for
Hauppauge WinTV PVR-USB2 Model 75xxx

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-01-25 19:04:39 -02:00
Michael Krufky d2c932a1f7 V4L/DVB (6965): tda18271: fix analog tuning regression caused by earlier changeset
An earlier patch, "tda18271: fail table lookups if frequency is out of range"
broke analog support on certain hardware.  This patch fixes that problem, by
allowing the RF_CAL byte to be set to the maximum value, in cases of the
frequency being out of range.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:38 -02:00
Michael Krufky 0e1fab90a8 V4L/DVB (6964): tda18271: document debug level and configuration parameters
Document debug level module options and
tda18271_config attach-time parameters.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:38 -02:00
Michael Krufky 2ba65d517b V4L/DVB (6963): tda18271: store IF frequency in a u16 instead of u32
Store IF Frequency in a u16 instead of a u32.  Multiply by 1000 before use.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:37 -02:00
Michael Krufky f21e0d7f05 V4L/DVB (6962): tda18271: allow device-specific configuration of IF frequency and std bits
Allow drivers to pass device-specific configuration parameters during attach.

If these parameters are omitted, default values will be used.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:36 -02:00
Michael Krufky 59067f7ed4 V4L/DVB (6961): tda18271: move common code to tda18271-common.c
Move some common code to a new file to make this easier to look at.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:36 -02:00
Michael Krufky 255b5113b4 V4L/DVB (6960): tda18271: add support for NXP TDA18271HD/C2
Tested successfully with QAM256 digital cable.
Analog television is limping, needs more work.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:35 -02:00
Michael Krufky dec9ccceef V4L/DVB (6959): tda18271: add MODULE_VERSION
version 0.1

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:35 -02:00
Michael Krufky 95af8a26cb V4L/DVB (6958): tda18271: clean up function tda18271_set_analog_params
make set_analog_params function look consistent with set_params function

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:34 -02:00
Michael Krufky 33f25b4275 V4L/DVB (6957): tda18271: fail table lookups if frequency is out of range
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:34 -02:00
Mauro Carvalho Chehab 0be4375410 V4L/DVB (6956): Add Radio support for em28xx
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:34 -02:00
Mauro Carvalho Chehab 3abee53e44 V4L/DVB (6955): Properly implement 12MHz I2S support
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:33 -02:00
Mauro Carvalho Chehab 0f6dac18cc V4L/DVB (6954): There isn't a MTS radio firmware
Try to load non-MTS firmware instead.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:33 -02:00
Mauro Carvalho Chehab e545d6e276 V4L/DVB (6953): Fix radio set frequency logic
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:33 -02:00
Mauro Carvalho Chehab d7448a8d9d V4L/DVB (6952): Add code for autoloading em28xx-alsa, if needed
Older em28xx devices does implement standard Audio Class.

However, on newer devices, this were replaced by a Vendor Class. This
patch autodetects that an em28xx lacks Audio Class and auto-loads
em28xx-alsa, for the devices that implements only a Vendor Class.

For devices with Audio Class, snd-usb-audio module will provide an ALSA
interface.

This patch uses the request_module_async function as defined on cx88-mpeg.c, 
originally wrote by Markus Rechberger.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:32 -02:00
Mauro Carvalho Chehab 6d79468dd8 V4L/DVB (6951): Integrates em28xx-audio.c into em28xx kernel module
Also fixes the remaining CodingStyle issues that Lindent didn't fix.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:32 -02:00
Mauro Carvalho Chehab 1a6f11e0e8 V4L/DVB (6950): Lindent em28xx-audio.c
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:31 -02:00
Markus Rechberger a52932b405 V4L/DVB (6949): Adds em28xx-audio module
em28xx-audio module exports em28xx Vendor Class audio as an -alsa
driver. This module were written based on usbaudio driver by Markus
Rechberger. Recently, he acked to allow us to merge it on kernel:

http://lists-archives.org/video4linux/20408-supporting-prolink-pixelview-405-dvd-maker.html

Thanks to Markus Rechberger <mrechberger@gmail.com>

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:31 -02:00
Mauro Carvalho Chehab 74f38a8237 V4L/DVB (6948): HVR950 requires additional settings for audio to properly work
Thanks to Markus Rechberger <mrechberger@gmail.com> for retriving those
commands.

Also, MTS firmware is required for audio to work on HVR950.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:31 -02:00
Mauro Carvalho Chehab 539c96d0fd V4L/DVB (6947): Improve audio setup handling
It is possible to select audio inputs via em28xx or via ac97 functions.
This patch allows configuring a board to use either one way.

It also do some cleanups at audio setup configurations.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:30 -02:00
Mauro Carvalho Chehab 6596a4f603 V4L/DVB (6944): Fix in-kernel ivtv compilation
Due to tuner-xc2028.h, some extra directories should be added at .h search.


Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:30 -02:00
Michael Krufky 29a7b4cb44 V4L/DVB (6936): cx23885: update model matrix for Hauppauge HVR1500
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:29 -02:00
Michael Krufky b00fff0be5 V4L/DVB (6935): cx23885: add missing subsystem IDs for Hauppauge HVR1500 Retail
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:29 -02:00
Michael Krufky 68370cf94e V4L/DVB (6934): cx23885: update model matrix for Hauppauge HVR1250
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:28 -02:00
Michael Krufky 6a0a962cbc V4L/DVB (6933): cx23885: update model matrix for Hauppauge HVR1800
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:28 -02:00
Michael Krufky 6ccb8cfbb9 V4L/DVB (6932): cx23885: add missing subsystem ID for Hauppauge HVR1800 Retail
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:26 -02:00
Steven Toth 71bc9bd96b V4L/DVB (6930): xc5000: Removed erroneous defines
Basic cleanup.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:26 -02:00
Michael Krufky b92bf0f6a9 V4L/DVB (6928): tda18271: break calculation functions out of tda18271_tune
Break out the following new functions from tda18271_tune:

tda18271_calc_bp_filter
tda18271_calc_km
tda18271_calc_rf_band
tda18271_calc_gain_taper
tda18271_calc_ir_measure
tda18271_calc_rf_cal

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:26 -02:00
Michael Krufky 182519f4c9 V4L/DVB (6927): tda18271: improve printk macros
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:25 -02:00
Michael Krufky 2f27dfc98c V4L/DVB (6926): tda18271: consolidate table lookup functions
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:25 -02:00
Michael Krufky d37142102a V4L/DVB (6925): tda18271: move state structures to tda18271-priv.h
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:25 -02:00
Michael Krufky 7686b574a1 V4L/DVB (6924): tda18271: fix whitespace in tda18271_ir_measure
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:24 -02:00
Michael Krufky 926bf3ca93 V4L/DVB (6923): tda18271: remove extraneous debug
We don't need to do a dbg_info during tda18271_attach anymore, since
the tda18271_get_id function will call dbg_info with the same information
and more.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:24 -02:00
Michael Krufky 67d52e2903 V4L/DVB (6920): tuner: fix backwards logic in check for set_config
tuner-core was checking if analog_ops->set_config is set.  If set, it would
complain that it isn't.  Fix this backwards logic to the proper behavior.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:23 -02:00
Michael Krufky de7234bb05 V4L/DVB (6919): Kconfig: VIDEO_CX23885 must select DVB_TUNER_XC5000 if !DVB_FE_CUSTOMIZE
Everybody forgets to add the Kconfig stuff after they add new card support :-/

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:23 -02:00
Hans Verkuil 3e509c7604 V4L/DVB (6917): ivtv: small textual update
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:23 -02:00
Jean Delvare d998cc6a6d V4L/DVB (6915): ivtv: drop an incorrect comment
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:22 -02:00
Mauro Carvalho Chehab 9134be0376 V4L/DVB (6914): Fix a few issues at the bttv conversion
bttv driver is working as previously. An additional gain of about 1,5Kb were
obtained with the driver conversion to vidioc_ioctl2:

   text    data     bss     dec     hex filename
  89208   40244   57556  187008   2da80 old/bttv.ko
  88960   38740   57556  185256   2d3a8 new/bttv.ko

(measured on a x86_64)

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:21 -02:00
Mauro Carvalho Chehab 04a94d3ca2 V4L/DVB (6913): Preserve the previous order to make easier to check the conversion
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:21 -02:00
Mauro Carvalho Chehab e5ae3db461 V4L/DVB (6912): Replace vidioc_ to bttv_
Since there are a few vidioc_ functions that were exported, rename those
functions to bttv_ in order to avoid poluting namespace.

The other functions were also renamed, to standardize inside the driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:21 -02:00
Douglas Schilling Landgraf 402aa76aa5 V4L/DVB (6911): Converted bttv to use video_ioctl2
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:20 -02:00
Michael Krufky 4041f1a587 V4L/DVB (6909): cx23885: fix bad use count caused by tda18271 being probed by tda8290
Don't allow the tda8290 module to probe and attach the tuner module,
causing incorrect use counts when using dvb_attach.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:20 -02:00
Michael Krufky c90762799c V4L/DVB (6908): tda8290: add the option not to probe for tuners passed into tda829x_config
Prevent the tda8290 module from probing for tuners during tda829x_attach,
by passing:

.probe_tuner = TDA829X_DONT_PROBE,

...in struct tda829x_config

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:20 -02:00
Michael Krufky fe0bf6d783 V4L/DVB (6907): tda18271: create separate calc_pll functions
Consolidate duplicated code by creating functions:

tda18271_calc_main_pll
tda18271_calc_cal_pll

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:19 -02:00
Michael Krufky f0bd504fb9 V4L/DVB (6906): tda18271: rename tda18271_calc_* functions to tda18271_lookup_*
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:19 -02:00
Michael Krufky 49e7aaf0ff V4L/DVB (6905): tda18271: check ID register during attach
Identify the silicon during attach, return NULL if unsupported device.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:19 -02:00
Michael Krufky 7e946c8a42 V4L/DVB (6904): tda18271: divider byte 1, bit 7 is always 0
Bit 7 of both Main Divider byte 1 and Cal Divider byte 1 is always zero.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:18 -02:00
Matthias Schwarzott 994fc28b6c V4L/DVB (6903): mt312: CodingStyle fix
Fixes all occurences of assignment in if

checkpatch marks them as ERROR.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Reviewed-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:18 -02:00
Michael Krufky 478f42292d V4L/DVB (6901): Kconfig: VIDEO_CX23885 selects TUNER_TDA8290 and DVB_TDA18271
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:17 -02:00
Michael Krufky 3ba71d2194 V4L/DVB (6900): cx23885: enable EZ-QAM mode for Hauppauge WinTV HVR-1800
Add module option 'alt_tuner' disabled by default.

When set to one, the dvb_frontend of HVR1800 will consist of:
s5h1409 demod + tda18271 tuner

When set zero (default), the dvb_frontend of HVR1800 will consist of:
s5h1409 demod + mt2131 tuner

If the tda18271 is used in digital mode, you will not be able to
tune an analog channel at the same time.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:16 -02:00
Michael Krufky 4cd8a7bd65 V4L/DVB (6899): Kconfig: VIDEO_CX23885 must select TUNER_XC2028 if !DVB_FE_CUSTOMIZE
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:16 -02:00
Michael Krufky 07b4a835d4 V4L/DVB (6898): cx23885: add support for Hauppauge WinTV HVR-1500
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:16 -02:00
Chris Pascoe ef207feddf V4L/DVB (6897): xc2028: ignore HAS_IF during specific S-Code type searches
If we are selecting the S-Code firmware to load by name, then we must mask
off the HAS_IF bit during the search.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:15 -02:00
Hans Verkuil 0e614cd1a5 V4L/DVB (6896): ivtv: add XC2028 support for Club3D cards
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:15 -02:00
Michael Krufky 3f51451b51 V4L/DVB (6894): xc5000: fix build warning
Fix the following build warning:

xc5000.c:560: warning: format '%d' expects type 'int',
	      but argument 2 has type 'size_t'

On many architectrues size_t is unsigned long, and may not be printed with %d.
Use %Zu instead.


Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:14 -02:00
Michael Krufky 7972f9880c V4L/DVB (6893): tuner-xc2028: fix xc2028_attach function
xc2028_attach was returning an integer when disabled from the build, where it
should instead be returning NULL.  Declare xc2028_attach as type dvb_frontend *
instead of void *.

The prototype declaration must be marked as extern in the header.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:14 -02:00
Michael Krufky fb6d8e2c7f V4L/DVB (6892): xc5000: fix build when DVB_TUNER_XC5000 is disabled
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:14 -02:00
Michael Krufky 26501a703d V4L/DVB (6890): tda18271: fix typo in RF tracking filter calibration
We want to set bits 1 & 2 on easy programming byte 4, not extended byte 4.

Thanks to David Wong for pointing this out.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Cc: David Wong <davidtlwong@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:13 -02:00
Steven Toth 2800b439e0 V4L/DVB (6888): Add Hauppauge tuner type 150 defintion
Add Hauppauge tuner type 150 defintion.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:13 -02:00
Steven Toth 6df9366857 V4L/DVB (6887): Avoid 'unknown model' message for the HVR1500-Q
Avoid 'unknown model' message for the HVR1500-Q

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:13 -02:00
Steven Toth e12671cf0c V4L/DVB (6886): xc5000: Cleanups of types, result codes etc
This translates much of the xceive coding style, adds
some result codes and generally cleans up whitespace
and function arguments.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:12 -02:00
Steven Toth d1987d55a1 V4L/DVB (6885): Add support for the Hauppauge HVR1500Q
The express card ATSC/QAM tuner.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:12 -02:00
Steven Toth aacb9d31ee V4L/DVB (6884): Add support for the Xceive xc5000 silicon tuner
This is an all formats tuner, QAM, ATSC, DVB-T and others.
Only ATSC and QAM have been tested.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:11 -02:00
Michael Krufky 2426a27e4d V4L/DVB (6882): dvb_frontend: release analog demod in dvb_frontend_detach
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:11 -02:00
Michael Krufky bc3e5c7fc2 V4L/DVB (6881): include struct analog_demod_ops directly inside struct dvb_frontend
Rather than using a pointer, include struct analog_demod_ops directly
inside struct dvb_frontend.  This will allow us to use dvb_attach in
the future, along with removing the need to check the ops structure
before having to check the pointer to the method being called.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:11 -02:00
Michael Krufky 9ad89f0104 V4L/DVB (6880): kill tuner-driver.h
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:10 -02:00
Michael Krufky 807ffe8df2 V4L/DVB (6879): move struct analog_tuner_ops into dvb_frontend.h
struct analog_tuner_ops no longer has any dependencies specific
to v4l2, so we can move this into dvb_frontend.h with the rest
of the tuning structures.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:10 -02:00
Michael Krufky b624aa86cd V4L/DVB (6878): tuner: remove extraneous variable declaration
tuner_count is already declared as "extern unsigned const int"
in <media/tuner-types.h>  -- Remove it from tuner-driver.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:10 -02:00
Michael Krufky d536c9df41 V4L/DVB (6875): tuner-xc2028: ATSC requires 1.75 MHz tuning offset
In my testing yesterday, I was using a scan file tailored specifically
for a unique test situation -- As it turns out, this scan file was bad,
and I will use the one included inside dvb-apps for testing for now on.

I've tested with other ATSC tuners just to confirm, using:

us-ATSC-center-frequencies-8VSB

Anyhow, as it turns out, the tuner-xc2028 *does* require a tuning offset
for ATSC.  Even though the linux-dvb api passes in center frequencies
from userspace, apparantly the xceive firmware is already factoring in
the tuning offset to center.

In order to make the device function using the same scan files /
channels.conf configurations as other atsc devices, we must offset by
1.75 MHz.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:09 -02:00
Matthias Schwarzott 0b6a3342a6 V4L/DVB (6874): removes duplicated KERN_DEBUG flags from dprintk calls in mt312.c
do { \
                if (debug) printk(KERN_DEBUG "mt312: " args); \
        } while (0)

So no caller need to specify KERN_DEBUG.

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:09 -02:00
Matthias Schwarzott 89f6475857 V4L/DVB (6873): Fixes issues listed by checkpatch
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:08 -02:00
Hans Verkuil 6fb377f85c V4L/DVB (6869): cs5345: new i2c driver
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:08 -02:00
Hans Verkuil 9fad368b6d V4L/DVB (6867): saa7127: CodingStyle cleanups
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:06 -02:00
Hans Verkuil d52c7385ec V4L/DVB (6866): msp3400: CodingStyle cleanups
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:06 -02:00
Hans Verkuil 35df38c015 V4L/DVB (6865): vp27smpx: CodingStyle cleanup
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:06 -02:00
Hans Verkuil 79f998a71b V4L/DVB (6864): upd64031a: CodingStyle cleanup
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:05 -02:00
Hans Verkuil 8c9fc8de54 V4L/DVB (6863): upd64083: CodingStyle cleanups
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:05 -02:00
Hans Verkuil f69d419a0b V4L/DVB (6862): ivtv: really remove i2c legacy support from drivers that no longer need it
For some reason the include header wasn't changed from v4l2-i2c-drv-legacy.h
to v4l2-i2c-drv.h in the previous patch. This is now corrected.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:05 -02:00
Hans Verkuil ea48c13ad0 V4L/DVB (6861): cx2341x: command argument should be u32 instead of int
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:04 -02:00
Hans Verkuil f19a73d620 V4L/DVB (6860): tveeprom: CodingStyle cleanup
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:04 -02:00
Hans Verkuil 5412c8204f V4L/DVB (6859): tveeprom: add support for Hauppauge models 74xxx
Thanks to Steve Toth from Hauppauge with providing me with the information
needed to add support for these models.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:04 -02:00
Mauro Carvalho Chehab 3ac510e609 V4L/DVB (6858): Fix offset for ATSC
ATSC works with offset=0

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:03 -02:00
Chris Pascoe 5e3c5967da V4L/DVB (6857): cx23885: correctly join I2C writes and reads from same address
When an I2C message specifies a write then a read from the same I2C address,
we need to tell the chip to not release the bus between the message parts.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:03 -02:00
Chris Pascoe bc51471088 V4L/DVB (6856): zl10353: improve tuning parameters and update register map
Some more I2C traces and a experimentation with register values on
both the ZL10353 and MT352 mean that I can now guess at what more
of the ZL10353 registers do.

Guess at the registers' names (based on the equivalent names in MT352)
and update set_parameters/get_parameters with the new knowledge.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:03 -02:00
Chris Pascoe 3dfefc50ff V4L/DVB (6855): xc2028: select DTV78 firmware if tuning 7MHz VHF / 8MHz UHF
It seems that the DTV78 firmware is intended for use in locations where
VHF channels have 7MHz bandwidth and UHF channels have 8MHz bandwidth.
If we switch to DTV78 firmware when we detect this condition, we can
avoid firmware reloads when switching between VHF and UHF transponders.

Place the state for this in the control structure so that card drivers
can hint to us to use DTV78 firmware from the first tuning attempt.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:01 -02:00
Chris Pascoe 897b842296 V4L/DVB (6854): xc2028: be more specific about when applying offset for 7MHz channels
We have been inserting a mystery 500kHz offset for tuning 7MHz channels,
however some experimentation reveals it is only needed under certain
conditions with specific firmware combinations.  Document these and only
apply the offset when we know it is required.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:01 -02:00
Chris Pascoe 9ca01e780f V4L/DVB (6853): xc2028: check HAS_IF flag against table
When searching for the right S-Code table to load, check the HAS_IF flag
against the firmware we are checking instead of against the the "type"
requested.  We already ignore the scode type requested if the caller passed
an int_freq; this makes the search by frequency consistent with that behaviour.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:04:00 -02:00
Chris Pascoe ad35ce9e3e V4L/DVB (6852): xc2028: s-code offset should not modify internal control structure
Don't modify the control structure that was provided at attach when applying
an offset to the S-Code, otherwise it will be incorrect on subsequent tunes.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:59 -02:00
Chris Pascoe e026268870 V4L/DVB (6851): xc2028: include int_freq in firmware version display
Add "int_freq" to the debugging output when selecting firmware and the
HAS_IF flag when dumping firmware during load.

Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:59 -02:00
Aurelien Jarno aec2aef267 V4L/DVB (em28xx): Add support for Pinnacle Dazzle DVC 100
The patch below adds the "Pinnacle Dazzle DVC 100" to the list of
cards supported by the em28xx driver. As the configuration is the same
as the DVC 90 one, it simply adds a new USB ID to the list of devices
supported by the DVC 90 configuration.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:58 -02:00
Akinobu Mita 9e7e85ebae V4L/DVB (6848): bttv: check pci_register_driver() error
Check pci_register_driver() error in module_init.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:57 -02:00
Michael Krufky 71021d2601 V4L/DVB (6846): tda9887: initialize mode to T_STANDBY at startup
Ensure that the audio is muted at attach-time

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:57 -02:00
Michael Krufky dabe61565e V4L/DVB (6845): tuner: remove unneeded #includes from tuner-driver.h
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:56 -02:00
Michael Krufky f7f427e4cc V4L/DVB (6844): tuner: remove struct tuner from tuner-driver.h
struct tuner holds state for tuner-core, only -- move it into tuner-core.c

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:56 -02:00
Michael Krufky 790ba18ec7 V4L/DVB (6843): tda9887: use printk macros from tuner-i2c.h
replace tda9887_info and tda9887_dbg printk macros with
tuner_info and tuner_dbg, defined in tuner-i2c.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:56 -02:00
Michael Krufky 8ca4083b50 V4L/DVB (6842): tda9887: remove dependency on struct tuner
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:55 -02:00
Michael Krufky 91c9d4a167 V4L/DVB (6841): tda9887: maintain private state independent of struct tuner
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:55 -02:00
Michael Krufky 710401b837 V4L/DVB (6840): tuner: convert tda9887 to use TUNER_SET_CONFIG
Use TUNER_SET_CONFIG to set configuration in tda9887's private state
structure, rather than storing tda9887-specific configuration within
struct tuner.

Update handling of TUNER_SET_CONFIG by tuner-core, to call
&t->fe.ops.analog_demod_ops rather than &t->fe.ops.tuner_ops

analog_demod_ops.set_config passes the request to tuner_ops.set_config,
so this does not break other drivers.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:54 -02:00
Michael Krufky f1c9a28100 V4L/DVB (6839): tuner: add set_config to struct analog_tuner_ops
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:53 -02:00
Michael Krufky daae58956b V4L/DVB (6838): tda9887: remove references to struct tuner from printk macros
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:52 -02:00
Michael Krufky 35e420357b V4L/DVB (6837): Convert cx88_input.audioroute to a bitfield
Prevent us from wasting some extra bytes of memory

Thanks to Trent Piepho, for pointing this out.


Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:50 -02:00
Mauro Carvalho Chehab d8f69971d8 V4L/DVB (6836): Fix CodingStyle troubles caused by the previous cx88 commits
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:50 -02:00
Frej Drejhammar 36e05a4475 V4L/DVB (6834): cx88-video: Enable selection of the WM8775 for cx88 cards
The auto selection of pertinent helper chips (VIDEO_HELPER_CHIPS_AUTO)
should select the wm8775 driver, which is used by at least one
Conexant 2388x based card (Hauppauge HVR-1300), if VIDEO_CX88 is
selected.

Signed-off-by: Frej Drejhammar <frej.drejhammar@gmail.com>
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:49 -02:00
Ricardo Cerqueira 66e6fbdf99 V4L/DVB (6833): Don't limit cx88 audio routing to blackbird boards
All cx2388 boards need the line-in audio to be routed from an external ADC
(refered to as "ADC mode" in the spec sheet), since the chip is uncapable
of dealing with baseband audio directly.
So... this patch enables normal mode when using the tuner (TV or Radio), and
enables ADC mode with any other source. It'll probably only work with boards
that have supported ADCs (such as the Wolfson wm9775)

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:49 -02:00
Michael Krufky 6a0bc9a016 V4L/DVB (6832): cx88-blackbird: don't mute audio when stopping the codec
We should not mute the audio input when we stop the codec,
because it will interfere with the live uncompressed stream.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Reviewed-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:49 -02:00
Ricardo Cerqueira 7b27d45bb5 V4L/DVB (6831): Audio routes fix for blackbird boards with the wm8775 ADC
Fix lack of audio on the MPEG-2 stream of wm8775 based blackbirds.

The wm8775 module initializes the audio input at "route 2", which doesn't
hold true for all boards. The HVR-1300, for example, uses route 1 for
tuner audio, and route 2 for baseband. So we must route the audio to the
proper input depending on what video input is being used.

Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:48 -02:00
Jelle Foks 4423a9a339 V4L/DVB (6830): cx88-blackbird: remove unnecessary encoder unmute
Remove the unnecessary BLACKBIRD_UNMUTE calls to the mpeg encoder in
cx88-blackbird.c

The encoder is never muted, hence unmuting should then only be necessary
once after hardware initialization.

I tested this from warm boots and cold boots (with long power down time
to ensure the sram in the chip is emptied), and found that after the
firmware upload the encoder is apparently not muted, making the unmutes
unnecessary.

Signed-off-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:48 -02:00
Jelle Foks e21a5c68de V4L/DVB (6829): cx88-blackbird: remove unnecessary msleep()'s
Remove the unnecessary msleep()'s in cx88-blackbird.c

Signed-off-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:48 -02:00
Jelle Foks f9e54e0c84 V4L/DVB (6828): cx88-blackbird: audio improvements
This patch should fix the 'muted audio' and 'raspy audio' problem for
mpeg2 streams out of cx88-blackbird devices.

Especially mythtv users would find that the audio would often sound bad
(aliased, or 'raspy'), mainly related to channel changes, many (all?)
other users would find that there was no audio at all in the mpeg data
from the encoder chip, unless the audio was manually unmuted.

The patch includes the following modifications:

Don't actually start the mpeg2 encoder until the device is read from
by the application.

Wait until the audio is stable for at least 400ms before starting the
mpeg encoder.

Mute/Unmute the audio when starting/stopping the mpeg encoder.

Stop the mpeg encoder when changing parameters and when changing tuner
frequency.

Add a variable 'mpeg_active' to struct cx8802_dev to allow tracking of
whether or not the mpeg2 encoder is active.

Load the firmware on cx88-blackbird driver load.

Signed-off-by: Jelle Foks <jelle@foks.8m.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:47 -02:00
Mauro Carvalho Chehab 4bfae52b69 V4L/DVB (6827): Auto-selects D2633 for ATSC
ATSC standard-specific firmware is D2633 on both v2.5 and v2.7. Better to
auto-select this firmware, overriding ctrl.d2633.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:47 -02:00
Michael Krufky 6b7daa88f2 V4L/DVB (6822): s5h1409: use VSB IF frequency ( 44 / 5.38 MHz ) unless otherwise specified
use VSB IF frequency ( 44 / 5.38 MHz ) if qam_if is invalid or unspecified

Acked-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:45 -02:00
Michael Krufky 2b03238a79 V4L/DVB (6821): s5h1409: fix IF frequency configuration
On the s5h1409 demod, the IF frequency for VSB is limited to 44 / 5.38 MHz.

Hardcode VSB IF frequency within the driver to 44 / 5.38 MHz.
QAM IF frequency remains configurable via attach-time configuration.

Acked-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:44 -02:00
Andrew Morton 18ff605a18 V4L/DVB (6818): git-dvb: drivers/media/dvb/frontends/zl10353.c: avoid 64-bit divide
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:43 -02:00
Mauro Carvalho Chehab 6594ad829a V4L/DVB (6817): Cleanup kernel thread and provide overrun detection
The previous code were a little bit messy. Cleans it up.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:42 -02:00
Mauro Carvalho Chehab 55862ac9b2 V4L/DVB (6816): Add proper locking for buffer filling
Avoids de-alocating buffers before finishing to fill a buffer

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:39 -02:00
Mauro Carvalho Chehab 6c2f990105 V4L/DVB (6815): Fix vivi internal debug messages
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:38 -02:00
Daniel Walker 1fe934ddfc V4L/DVB (6812): media: video: usbvision: remove ctrlUrbLock
The ctrlUrbLock has all it's users commented out, and so it's unused.  This
patch removes it.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:38 -02:00
Andrew Morton 544e617533 V4L/DVB (6811): media-video-usbvision-add-mutex_unlock-to-error-paths-fix
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:37 -02:00
Daniel Walker 0991112c1c V4L/DVB (6810): media: video: usbvision: add mutex_unlock() to error paths
There are a few error paths which don't unlock the usbvision->lock.

So I've added mutex_unlock() calls to fix those paths.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:36 -02:00
Andrew Morton 7cd355e7c0 V4L/DVB (6809): git-dvb: drivers/media/video/et61x251/et61x251_core.c: fix warnings
drivers/media/video/et61x251/et61x251_core.c:390: warning: 'et61x251_i2c_read' defined but not used
drivers/media/video/et61x251/et61x251_core.c:397: warning: 'et61x251_i2c_write' defined but not used

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:35 -02:00
Andrew Morton 39b43b1a61 V4L/DVB (6808): git-dvb: fix build in drivers/media/dvb/frontends/tda18271.h
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:34 -02:00
Mauro Carvalho Chehab 8996b3f3cf V4L/DVB (6807): fix debug enable
The changes at vivi_template make debug option to not work properly.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:33 -02:00
Mauro Carvalho Chehab 784c668b24 V4L/DVB (6806): Allow emulating changes of video std by vivi
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:33 -02:00
Mauro Carvalho Chehab 63736784f7 V4L/DVB (6805): video std is a bitmask. Better to print in hexa
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:32 -02:00
Mauro Carvalho Chehab 225ba90088 V4L/DVB (6804): __videobuf_read_start is static
Thanks to Jean Delvare <khali@linux-fr.org> for pointing this.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:32 -02:00
Michael Krufky e435f95ce6 V4L/DVB (6801): tda18271: pass i2c gate configuration into tda18271_attach()
If we pass TDA18271_GATE_DIGITAL into tda18271_attach(), it will always try to
use the digital demodulator's i2c gate.

If we pass TDA18271_GATE_ANALOG into tda18271_attach(), it will always try to
use the analog demodulator's i2c gate.

If we pass TDA18271_GATE_AUTO into tda18271_attach(), it will try to use the
analog demodulator's i2c gate when tuning in analog mode, and it will try to
use the digital demodulator's i2c gate when tuning in digital mode.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:32 -02:00
Michael Krufky 7206abbc2d V4L/DVB (6800): tda18271: use an enum rather than an integer to store analog / digital state
Use an enum rather than an integer #define to store analog / digital state.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:31 -02:00
Mauro Carvalho Chehab f6e90a66cd V4L/DVB (6795): Add EXPORT_SYMBOL_GPL to the saa7134 video control routines
Those newer functions are used by saa7134-empress. Adds export for them:
+EXPORT_SYMBOL_GPL(saa7134_g_ctrl);
+EXPORT_SYMBOL_GPL(saa7134_s_ctrl);
+EXPORT_SYMBOL_GPL(saa7134_queryctrl);

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:31 -02:00
Mauro Carvalho Chehab 2c10e8a898 V4L/DVB (6793): Convert saa7134-empress to video_ioctl2
saa7134 were converted to video_ioctl2, but saa7134_empress weren't. This broke
saa7134-empress, since it were dependent of saa7134_common_ioctl.

With the conversion, the module had a size decrease of 436 bytes on x86_64:

   text    data     bss     dec     hex filename
   5196    4912       4   10112    2780 old/saa7134-empress.ko
   4760    4912       4    9676    25cc new/saa7134-empress.ko

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:31 -02:00
Mauro Carvalho Chehab a9622391ac V4L/DVB (6792): Fix VBI support
VBI were broken, since there weren't any function handlers for it. This patch
fixes it, by removing the vbi_template, using, instead video_template.

This also saves some space at the data segment.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:30 -02:00
Mauro Carvalho Chehab bfb12e38a8 V4L/DVB (6791): Rename all vidioc_ to saa7134_
Some functions are used also by saa7134-empress, and need to be exported. To
avoid namespace confusion, rename all of them to saa7134_

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:30 -02:00
Michael Krufky bd2b19a78c V4L/DVB (6789): tuner: use char *name instead of 128 byte fixed array for demod info
Don't waste 128 bytes of memory for a name that might not actually need it.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:30 -02:00
Michael Krufky 2dcf84b36c V4L/DVB (6788): tda8290: fix codingstyle, open brace following struct on the same line
Fix codingstyle issue discovered after using new checkpatch.pl

 ERROR: open brace '{' following struct go on the same line
 396: FILE: linux/drivers/media/video/tda8290.h:24:
+struct tda829x_config
+{

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:29 -02:00
Michael Krufky 864a6b813a V4L/DVB (6787): tuner: bug-fix: default mode was set to bogus value
Fix type inconsistency in t->mode value, causing the following:

tuner' 1-0043: freq set: unknown mode: 0x0004!

(only visible with tuner debug enabled)

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:29 -02:00
Michael Krufky a55db8cd7f V4L/DVB (6786): tuner: add struct analog_demod_info to struct analog_tuner_ops
Store the analog demodulator name in fe.ops.analog_demod_ops.info.name

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:28 -02:00
Michael Krufky ab1660503a V4L/DVB (6785): tda8290: remove dependency on struct tuner
- remove dependency of tda8290 module on struct tuner
- move tuner_foo printk macros from tuner-driver.h into tuner-core.c
- clean up #includes of tuner-i2c.h / tuner-driver.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:28 -02:00
Michael Krufky fa746aee33 V4L/DVB (6784): tda8290: prevent possible memory leak
Always call tda829x_release if tda829x_attach fails for a reason
other than failure to allocate memory for private structure.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:27 -02:00
Michael Krufky c7919d520f V4L/DVB (6783): tuner: combine set_tv_freq and set_radio_freq into a single set_params method
We can tell whether we are tuning television or radio by testing for
struct analog_parameters *params->mode == V4L2_TUNER_RADIO

There is no longer any need for separate set_tv_freq and
set_radio_freq functions in the analog tuner demodulator modules.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:27 -02:00
Michael Krufky 6881647cce V4L/DVB (6782): tda8290: access frontend structure directly, where possible
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:27 -02:00
Richard Knutsson 14d5deba27 V4L/DVB (6776): ivtv: Some general fixes
Fix "warning: Using plain integer as NULL pointer".
Convert 'x < y ? x : y' to use min() instead.

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>
2008-01-25 19:03:26 -02:00
Mike Isely d130fa8a05 V4L/DVB (6773): pvrusb2: rework device descriptor layout
The pvrusb2 driver tries to keep all device specific attributes in a
single data structure in one source file.  This change further cleans
up how that table is set up.  We now try to group everything together
for each specific device, and the number of symbols exported from this
module has now been reduced to a single global.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:26 -02:00
Mike Isely 066bba2d1c V4L/DVB (6772): pvrusb2: Remove obsolete (and misleading) comment
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:26 -02:00
Mike Isely 577e4023df V4L/DVB (6771): pvrusb2: Remove old obsolete CONFIG flags for pvrusb2 driver
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:25 -02:00
Mike Isely 5edfded481 V4L/DVB (6770): pvrusb2: Device CONFIG flags for OnAir device support
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:25 -02:00
Mike Isely 4542783c37 V4L/DVB (6769): pvrusb2: Implement experimental support for OnAir Creator and USB2 devices
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:25 -02:00
Mike Isely 787f5abb95 V4L/DVB (6768): pvrusb2: Mark Gotview hardware as having a cx2584x part
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:25 -02:00
Hans Verkuil 2a2bfbff3d V4L/DVB (6766): ivtv: remove i2c legacy support from drivers that no longer need it
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:24 -02:00
Hans Verkuil d900920120 V4L/DVB (6765): ivtv: convert to bus-based i2c API
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:24 -02:00
Hans Verkuil 9d1a16a4fc V4L/DVB (6764): ivtv: select VIDEO_IR in Kconfig
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:24 -02:00
Hans Verkuil e08323f099 V4L/DVB (6763): ivtv: add AVerMedia EZMaker PCI Deluxe support
Add support for the AVerMedia EZMaker PCI Deluxe and update the ivtv cardlist.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:23 -02:00
Hans Verkuil 0170a48274 V4L/DVB (6762): ivtv: update version number to 1.2
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:22 -02:00
Mauro Carvalho Chehab e2c77314c9 V4L/DVB (6759): CodingStyle fixes
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:22 -02:00
Mauro Carvalho Chehab 543323bcf4 V4L/DVB (6758): Miscelaneous cleanups
Manually fixed all pertinent checkpatch.pl errors inside the source code.

Also removed some unused code at the driver and a few minor cleanups.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:22 -02:00
Mauro Carvalho Chehab 025341d4f0 V4L/DVB (6755): Avoid troubles when using multiple devices
mv_count is a counter used to move the vertical bars. Before this patch, it
where a static var. This works fine for just one device. However, when using
multiple devices, every device would increment it.

This patch moves it to its correct place: struct vivi_dev. So, now, each device
has its own data.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:22 -02:00
Mauro Carvalho Chehab 55712ff7e0 V4L/DVB (6754): Allow vivi to open multiple video devices
Now, it is possible to open multiple vivi devices, by using n_devs parameter.
This makes vivi driver closer to a real one.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:21 -02:00
Mauro Carvalho Chehab f905c442e5 V4L/DVB (6753): Fix vivi to support non-zero minor node
There were a trouble at vivi driver when using non-zero inodes. This where due
to not properly preserving the minor inode after calling video_register. Since
this driver is a reference for newer drivers, and it is possible to have more
than one video device inside the machine, this patch makes vivi to dynamically
allocate video_device struct.

Thanks to Gregor Jasny <jasny@vidsoft.de> for pointing the issue.

Also, this patch removes a very anoying (but useless) message of not having a
proper release call.

CC: Gregor Jasny <jasny@vidsoft.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:21 -02:00
Albert Graham d2761f2271 V4L/DVB (6752): saa7134: Enable remote control support for Avermedia M102
This patch enabled the IR remote control for the Avermedia M102 (card=110),
which appears to be the same IR as the already supported device on the
Avermedia AVerTV GO 007 FM (card=57) model, the code is two one liners which
enable the IR for this device (subsystem: 1461:f31e)

Signed-off-by: Albert Graham <agraham@g-b.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:21 -02:00
Andrew Morton d172b8bdab V4L/DVB (6749): v4l-nopage-fix
dont just copy-and-paste stuff.
(compile-tested this time)

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:20 -02:00
Nick Piggin 105354a0f0 V4L/DVB (6748): Subject: v4l: nopage
Convert v4l from nopage to fault.
Remove redundant vma range checks.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:18 -02:00
Michael Krufky 14e3c152a1 V4L/DVB (6745): tda18271: remove tuning offset for atsc/qam
The tuning request coming in from userspace is already center adjusted,
so we should not adjust to center (+1.75mhz) within the driver.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:18 -02:00
Hans Verkuil 4a56eb3f53 V4L/DVB (6743): cx25840: fix endianness inconsistency
cx25840_read4 reads a little-endian 32-bit value whereas cx25840_write4 writes
the 32-bit value as big-endian. Convert write4 to use little-endian as well
(that's the correct endianness).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:17 -02:00
Hans Verkuil 6b1e56763b V4L/DVB (6742): ivtv: fix incorrect debug message
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:17 -02:00
Hans Verkuil 737bd410e7 V4L/DVB (6741): cx2341x: codingstyle cleanups
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:17 -02:00
Hans Verkuil 574dec611f V4L/DVB (6740): tlv320aic23b: codingstyle cleanups
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:17 -02:00
Hans Verkuil 4c05de9c97 V4L/DVB (6739): cs53l32a: codingstyle cleanups
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:16 -02:00
Hans Verkuil 099b8e7361 V4L/DVB (6738): wm8739: codingstyle cleanups
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:16 -02:00
Hans Verkuil 842441d42d V4L/DVB (6737): wm8775: codingstyle cleanup
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:16 -02:00
Mauro Carvalho Chehab 8c85454a59 V4L/DVB (6736): Fix some errors at the video_ioctl2 conversion
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:15 -02:00
Mauro Carvalho Chehab 90bdc14533 V4L/DVB (6735): Reorder functions to make easier to compare with the previous code
After this patch, the order of the functions will be the same as before the
patch converting the driver to user video_ioctl2. This makes easier to diff
between the previous version and the newer one.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:15 -02:00
Douglas Schilling Landgraf 8f61ae2f4f V4L/DVB (6734): Converted saa7134-video to use video_ioctl2
Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:15 -02:00
Oliver Neukum 863c86dd7e 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>
2008-01-25 19:03:14 -02:00
Richard Knutsson e1ba33df0c 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>
2008-01-25 19:03:14 -02:00
Michael Krufky 5d2bf930a2 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>
2008-01-25 19:03:14 -02:00
Michael Krufky b5f3e1e153 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>
2008-01-25 19:03:13 -02:00
Michael Krufky aaeccba68a 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>
2008-01-25 19:03:13 -02:00
Michael Krufky 293da0ec46 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>
2008-01-25 19:03:12 -02:00
Michael Krufky 1457263e9d V4L/DVB (6724): tda18271: remove duplicated code
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:03:12 -02:00
Michael Krufky efce841093 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>
2008-01-25 19:03:12 -02:00
Ian Armstrong 2b057e8dc6 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>
2008-01-25 19:03:11 -02:00
Ian Armstrong 368f080b68 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>
2008-01-25 19:03:11 -02:00
Ian Armstrong 77aded6ba5 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>
2008-01-25 19:03:11 -02:00
Ian Armstrong 3b5c1c8e71 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>
2008-01-25 19:03:10 -02:00
Ian Armstrong 406c8b0ff0 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>
2008-01-25 19:03:10 -02:00
Ian Armstrong 166983cdfb 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>
2008-01-25 19:03:10 -02:00
Ian Armstrong a3e5f5e2df 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>
2008-01-25 19:03:10 -02:00
Ian Armstrong c240ad00af 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>
2008-01-25 19:03:09 -02:00
Mike Isely 9de982d311 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>
2008-01-25 19:03:09 -02:00
Mike Isely 3d290bdb28 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>
2008-01-25 19:03:08 -02:00
Mike Isely 4ca7f70928 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>
2008-01-25 19:03:07 -02:00
Mike Isely e802c14b91 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>
2008-01-25 19:03:07 -02:00
Mike Isely 26e33048aa 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>
2008-01-25 19:03:07 -02:00
Mike Isely 6a54025496 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>
2008-01-25 19:03:06 -02:00
Roel Kluin ea2562d94f 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>
2008-01-25 19:03:06 -02:00
Michael Krufky 482cb9a75b 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>
2008-01-25 19:03:06 -02:00
Mike Isely 9e2e3aeb2d 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>
2008-01-25 19:03:06 -02:00
Mike Isely 65bd80fe18 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>
2008-01-25 19:03:05 -02:00
Mike Isely 056d1a8992 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>
2008-01-25 19:03:05 -02:00