platform/kernel/linux-3.10.git
12 years ago[media] dvb: get rid of fe_ioctl_override callback
Mauro Carvalho Chehab [Sun, 5 Aug 2012 17:16:30 +0000 (14:16 -0300)]
[media] dvb: get rid of fe_ioctl_override callback

This callback were meant to allow overriding a FE callback, before its
call, but it is not really needed, as the callback can be intercepted
after tuner attachment.

Worse than that, only DVBv3 calls are intercepted this way, so a DVBv5
application will produce different effects than a DVBv3 one.

So, get rid of it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Antti Palosaari <crope@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
12 years ago[media] staging: lirc: use %*ph to print small buffers
Andy Shevchenko [Thu, 2 Aug 2012 15:05:45 +0000 (12:05 -0300)]
[media] staging: lirc: use %*ph to print small buffers

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: linux-media@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] drivers/media/radio/radio-si4713.c: use devm_ functions
Julia Lawall [Tue, 31 Jul 2012 08:21:36 +0000 (05:21 -0300)]
[media] drivers/media/radio/radio-si4713.c: use devm_ functions

The various devm_ functions allocate memory that is released when a driver
detaches.  This patch uses these functions for data that is allocated in
the probe function of a platform device and is only freed in the remove
function.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] drivers/media/radio/radio-wl1273.c: use devm_ functions
Julia Lawall [Tue, 31 Jul 2012 08:21:35 +0000 (05:21 -0300)]
[media] drivers/media/radio/radio-wl1273.c: use devm_ functions

The various devm_ functions allocate memory that is released when a driver
detaches.  This patch uses these functions for data that is allocated in
the probe function of a platform device and is only freed in the remove
function.

In two cases, the original memory allocation function was kmalloc, which
has been changed to a zeroing allocation to benefit from the devm function.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] drivers/media/radio/radio-timb.c: use devm_ functions
Julia Lawall [Tue, 31 Jul 2012 08:21:37 +0000 (05:21 -0300)]
[media] drivers/media/radio/radio-timb.c: use devm_ functions

The various devm_ functions allocate memory that is released when a driver
detaches.  This patch uses these functions for data that is allocated in
the probe function of a platform device and is only freed in the remove
function.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] lirc: lirc_ene0100.h is not referenced anywhere
Sean Young [Mon, 13 Aug 2012 11:59:51 +0000 (08:59 -0300)]
[media] lirc: lirc_ene0100.h is not referenced anywhere

There is a proper ene0100 driver anyway.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] lirc: remove lirc_ttusbir driver
Sean Young [Mon, 13 Aug 2012 11:59:50 +0000 (08:59 -0300)]
[media] lirc: remove lirc_ttusbir driver

This has been replaced by the ttusbir driver.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] rc: transmit on device which does not support it should fail
Sean Young [Mon, 13 Aug 2012 11:59:49 +0000 (08:59 -0300)]
[media] rc: transmit on device which does not support it should fail

Currently write() will return 0 if an IR device does not support sending.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] saa7134: simplify timer activation
Sean Young [Mon, 13 Aug 2012 11:59:48 +0000 (08:59 -0300)]
[media] saa7134: simplify timer activation

This simplies the code and resolves a possible race condition between
ir_raw_decode_timer_end() and saa7134_raw_decode_irq().

If the interrupt handler is called after ir_raw_decode_timer_end()
calls ir_raw_event_handle() but before clearing ir->active, then the
timer won't be rearmed.

Compile tested only.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] rc: do not wake up rc thread unless there is something to do
Sean Young [Mon, 13 Aug 2012 11:59:47 +0000 (08:59 -0300)]
[media] rc: do not wake up rc thread unless there is something to do

The TechnoTrend USB IR Receiver sends 125 ISO URBs per second, even when
there is no IR activity. Reduce the number of wake ups from the other
drivers too.

This saves about 0.25ms/s on a 2.4GHz Core 2 according to powertop.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] rc: Add support for the TechnoTrend USB IR Receiver
Sean Young [Mon, 13 Aug 2012 11:59:46 +0000 (08:59 -0300)]
[media] rc: Add support for the TechnoTrend USB IR Receiver

This driver adds support for TechnoTrend USB IR Receiver. It is a complete
rewrite of the staging/media/lirc/lirc_ttusbir driver. It adds more
accurate sample reporting and led control.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] iguanair: fix receiver overflow
Sean Young [Mon, 13 Aug 2012 11:59:45 +0000 (08:59 -0300)]
[media] iguanair: fix receiver overflow

The Pioneer CU-700 remote causes receiver overflows if you hold down any
button. The remote does not send NEC IR repeats, it repeats the entire
NEC code after 20ms.

The iguanair hardware advertises an interval of 10 which just not enough;
with 100 URBs per second and at most 7 edges per URB, we handle at most
700 edges per second. The remote generates about 900.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] iguanair: advertise the resolution and timeout properly
Sean Young [Mon, 13 Aug 2012 11:59:41 +0000 (08:59 -0300)]
[media] iguanair: advertise the resolution and timeout properly

With the timeout supplied the interface can go idle. The keymap is
the same one as other drivers which do not come with a remote.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] iguanair: reset the IR state after rx overflow or receiver enable
Sean Young [Mon, 13 Aug 2012 11:59:44 +0000 (08:59 -0300)]
[media] iguanair: reset the IR state after rx overflow or receiver enable

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] iguanair: fix return value for transmit
Sean Young [Mon, 13 Aug 2012 11:59:42 +0000 (08:59 -0300)]
[media] iguanair: fix return value for transmit

Also fix error codes returned from open.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] iguanair: support suspend and resume
Sean Young [Mon, 13 Aug 2012 11:59:43 +0000 (08:59 -0300)]
[media] iguanair: support suspend and resume

Now unbind also stops the receiver.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] iguanair: ignore unsupported firmware versions
Sean Young [Mon, 13 Aug 2012 11:59:40 +0000 (08:59 -0300)]
[media] iguanair: ignore unsupported firmware versions

Firmware versions lower than 0x0205 use a different interface which is not
supported. Also report the firmware version in the standard format.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] iguanair: reuse existing urb callback for command responses
Sean Young [Mon, 13 Aug 2012 11:59:39 +0000 (08:59 -0300)]
[media] iguanair: reuse existing urb callback for command responses

Rather than using usb_interrupt_msg() to receive responses, reuse the
urb callback we already have in place.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] davinci: fix build warning when CONFIG_DEBUG_SECTION_MISMATCH is enabled
Lad, Prabhakar [Mon, 13 Aug 2012 08:32:17 +0000 (05:32 -0300)]
[media] davinci: fix build warning when CONFIG_DEBUG_SECTION_MISMATCH is enabled

Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] DVB API: add INTERLEAVING_AUTO
Antti Palosaari [Mon, 13 Aug 2012 01:33:22 +0000 (22:33 -0300)]
[media] DVB API: add INTERLEAVING_AUTO

After thinking twice, I ended up adding own value for AUTO
interleaving instead of using NONE.

API minor number is not needed to increase as that patch should
be the same Kernel as interleaving parameter is initially added.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] add DTMB support for DVB API
Antti Palosaari [Mon, 13 Aug 2012 01:33:21 +0000 (22:33 -0300)]
[media] add DTMB support for DVB API

Cc: Patrick Boettcher <pboettcher@kernellabs.com>
Cc: Andreas Oberritter <obi@linuxtv.org>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] rtl28xxu: generalize streaming control
Antti Palosaari [Mon, 13 Aug 2012 01:27:08 +0000 (22:27 -0300)]
[media] rtl28xxu: generalize streaming control

Move rtl2831u LED from streaming control to power control. It
changes LED behavior slightly but who cares :)
After that same streaming control can be used for both rtl2831u
and rtl2832u.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] rtl28xxu: convert to new DVB USB
Antti Palosaari [Mon, 13 Aug 2012 01:27:07 +0000 (22:27 -0300)]
[media] rtl28xxu: convert to new DVB USB

Tested-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Add support for Ophir Optronics SPCAM 620U cameras
Laurent Pinchart [Mon, 6 Aug 2012 15:20:59 +0000 (12:20 -0300)]
[media] uvcvideo: Add support for Ophir Optronics SPCAM 620U cameras

The camera requires the PROBE_MINMAX quirk. Add a corresponding entry in
the device IDs list.

Reported-by: Stefan Muenzel <stefanmuenzel@googlemail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Support 10bit, 12bit and alternate 8bit greyscale formats
Stefan Muenzel [Sat, 28 Jul 2012 22:49:14 +0000 (19:49 -0300)]
[media] uvcvideo: Support 10bit, 12bit and alternate 8bit greyscale formats

The SPCAM SP620U camera uses the alternate "Y8  " GUID for the 8-bit
greyscale format, and supports a 12-bit greyscale format. Add support
for those in the driver, as well as for 10-bit greyscale formats.

Signed-off-by: Stefan Muenzel <stefanmuenzel@googlemail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] uvcvideo: Support super speed endpoints
Laurent Pinchart [Tue, 17 Jul 2012 11:58:48 +0000 (08:58 -0300)]
[media] uvcvideo: Support super speed endpoints

Compute the maximum number of bytes per interval using the burst and
multiplier values for super speed endpoints.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] ttpci: add support for Omicom S2 PCI
Evgeny Plehov [Sat, 11 Aug 2012 21:48:14 +0000 (18:48 -0300)]
[media] ttpci: add support for Omicom S2 PCI

Support for yet another SAA7146-based budget card (very similar to TT
S2-1600, but use LNBH23 instead ISL6423).

Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] staging: media: Remove easycap driver
Ezequiel García [Sat, 11 Aug 2012 17:32:56 +0000 (14:32 -0300)]
[media] staging: media: Remove easycap driver

This driver has been replaced by stk1160.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] media: Add stk1160 new driver (easycap replacement)
Ezequiel García [Sat, 11 Aug 2012 17:32:57 +0000 (14:32 -0300)]
[media] media: Add stk1160 new driver (easycap replacement)

This driver adds support for stk1160 usb bridge as used in some
video/audio usb capture devices.
It is a complete rewrite of staging/media/easycap driver and
it's meant as a replacement.

As stk1160 allows communication with an ac97 codec chip, this
driver allows to register a control-only sound card to allow the user
to access ac97 controls.

Two devices have been used for testing:
* 1-cvbs video and 1-audio ac97 input,
* 4-cvbs inputs
Both of these devices reports with the same id [05e1:0408],
so the driver tries to support a superset of the capabilities.

By using keep_buffers module parameter it's possible to prevent
the driver from releasing urb buffers when streaming is stopped.
The usage of this parameter can avoid memory fragmentation that may
cause the driver to stop working on low memory systems.
A similar mechanism is implemented in em28xx driver (see commit 86d38d).

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] qt1010: signedness bug in qt1010_init_meas1()
Dan Carpenter [Fri, 10 Aug 2012 08:25:03 +0000 (05:25 -0300)]
[media] qt1010: signedness bug in qt1010_init_meas1()

qt1010_init_meas2() returns zero on success and negative error codes on
failure so the return type should be int instead of u8.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] tda18218: silence compiler warning
Antti Palosaari [Thu, 9 Aug 2012 23:50:37 +0000 (20:50 -0300)]
[media] tda18218: silence compiler warning

Trivial fix.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] tda18212: use Kernel dev_* logging
Antti Palosaari [Thu, 9 Aug 2012 23:50:36 +0000 (20:50 -0300)]
[media] tda18212: use Kernel dev_* logging

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] tda18212: silence compiler warning
Antti Palosaari [Thu, 9 Aug 2012 23:50:35 +0000 (20:50 -0300)]
[media] tda18212: silence compiler warning

Trivial fix.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] mantis: fix silly crash case
Alan Cox [Thu, 9 Aug 2012 15:33:52 +0000 (12:33 -0300)]
[media] mantis: fix silly crash case

If we set mantis->fe to NULL on an error its not a good idea to then try
passing NULL to the unregister paths and oopsing really.

Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=16473

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] dvb: nxt200x: apply levels to the printk()s
Andy Shevchenko [Tue, 7 Aug 2012 15:43:02 +0000 (12:43 -0300)]
[media] dvb: nxt200x: apply levels to the printk()s

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] saa7164: use native print_hex_dump() instead of custom one
Andy Shevchenko [Tue, 7 Aug 2012 15:43:01 +0000 (12:43 -0300)]
[media] saa7164: use native print_hex_dump() instead of custom one

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] media: fix MEDIA_IOC_DEVICE_INFO return code
Nicolas THERY [Tue, 7 Aug 2012 08:24:59 +0000 (05:24 -0300)]
[media] media: fix MEDIA_IOC_DEVICE_INFO return code

The MEDIA_IOC_DEVICE_INFO ioctl was returning a positive value rather
than a negative error code when failing to copy output parameter to
user-space.

Tested by compilation only.

Signed-off-by: Nicolas Thery <nicolas.thery@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] m88rs2000: add missing FE_HAS_SYNC flag
Antti Palosaari [Mon, 6 Aug 2012 21:35:26 +0000 (18:35 -0300)]
[media] m88rs2000: add missing FE_HAS_SYNC flag

Cc: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] lmedm04: fix build
Mauro Carvalho Chehab [Sun, 12 Aug 2012 10:53:33 +0000 (07:53 -0300)]
[media] lmedm04: fix build

Those files were at the wrong place, probably due to the usage of a
previous version of dvb-usb-v2 tree.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] lmedm04 2.06 conversion to dvb-usb-v2 version 2
Malcolm Priestley [Mon, 6 Aug 2012 19:21:40 +0000 (16:21 -0300)]
[media] lmedm04 2.06 conversion to dvb-usb-v2 version 2

Conversion of lmedm04 to dvb-usb-v2

Functional changes m88rs2000 tuner now uses all callbacks.
TODO migrate other tuners to the callbacks.

This patch is applied on top of [BUG] Re: dvb_usb_lmedm04 crash Kernel (rs2000)
http://patchwork.linuxtv.org/patch/13584/

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Acked-by: Antti Palosaari <crope@iki.fi>
Tested-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] dvb core: remove support for post FE legacy ioctl intercept
Mauro Carvalho Chehab [Sun, 5 Aug 2012 17:16:29 +0000 (14:16 -0300)]
[media] dvb core: remove support for post FE legacy ioctl intercept

This DVB_FE_IOCTL_POST isn't used, so remove it.

Also, intercepting ioctl's like that only works with legacy ioctl's,
due to the way it was implemented. so this design is broken.
Document it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] staging: media: cxd2099: remove memcpy of similar structure variables
Devendra Naga [Sun, 5 Aug 2012 19:40:02 +0000 (16:40 -0300)]
[media] staging: media: cxd2099: remove memcpy of similar structure variables

structure variables can be assigned, no memcpy needed,
remove the memcpy and use assignment for the cfg and en variables.

Tested by Compilation Only

Suggested-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Devendra Naga <develkernel412222@gmail.com>
Cc: Ralph Metzler <rjkm@metzlerbros.de>
Cc: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] staging: media: cxd2099: use kzalloc to allocate ci pointer of type struct...
Devendra Naga [Sat, 4 Aug 2012 17:12:21 +0000 (14:12 -0300)]
[media] staging: media: cxd2099: use kzalloc to allocate ci pointer of type struct cxd in cxd2099_attach

this does kmalloc and followed by memset, calling kzalloc will actually
sets the allocated memory to zero, use kzalloc instead

Signed-off-by: Devendra Naga <develkernel412222@gmail.com>
Cc: Ralph Metzler <rjkm@metzlerbros.de>
Cc: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] staging: media: cxd2099: fix sparse warnings in cxd2099_attach
Devendra Naga [Sat, 4 Aug 2012 17:12:03 +0000 (14:12 -0300)]
[media] staging: media: cxd2099: fix sparse warnings in cxd2099_attach

The following sparse warnings were fixed

drivers/staging/media/cxd2099/cxd2099.c:686:26: warning: Using plain integer as NULL pointer
drivers/staging/media/cxd2099/cxd2099.c:691:24: warning: Using plain integer as NULL pointer
drivers/staging/media/cxd2099/cxd2099.c:696:24: warning: Using plain integer as NULL pointer

Signed-off-by: Devendra Naga <develkernel412222@gmail.com>
Cc: Ralph Metzler <rjkm@metzlerbros.de>
Cc: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] em28xx: Fix height setting on non-progressive captures
Mauro Carvalho Chehab [Fri, 3 Aug 2012 16:52:32 +0000 (13:52 -0300)]
[media] em28xx: Fix height setting on non-progressive captures

This was introduced on commit c2a6b54a9:
"em28xx: fix: don't do image interlacing on webcams"

The proposed patch by Ezequiel is wrong. The right fix here is to just
don't bother here if either the image is progressive or not.

Reported-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] cpia2: Declare MODULE_FIRMWARE usage
Tim Gardner [Fri, 3 Aug 2012 16:39:28 +0000 (13:39 -0300)]
[media] cpia2: Declare MODULE_FIRMWARE usage

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Cc: linux-media@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] videobuf2: fix sparse warning
Nicolas THERY [Fri, 3 Aug 2012 10:23:54 +0000 (07:23 -0300)]
[media] videobuf2: fix sparse warning

Fix "symbol 'vb2_vmalloc_memops' was not declared. Should it be static?"
sparse warning.

Signed-off-by: Nicolas Thery <nicolas.thery@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] tuner-xc2028: add missing else case
Hans Petter Selasky [Fri, 3 Aug 2012 06:34:05 +0000 (03:34 -0300)]
[media] tuner-xc2028: add missing else case

>From 59306435992d9349f10ad82a8adf14d98becbbe8 Mon Sep 17 00:00:00 2001

Signed-off-by: Hans Petter Selasky <hselasky@c2i.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] dvb_usb_lmedm04: don't crash if firmware is not loaded
Malcolm Priestley [Thu, 2 Aug 2012 22:31:53 +0000 (19:31 -0300)]
[media] dvb_usb_lmedm04: don't crash if firmware is not loaded

There is a missing error handling when no firmware file found.

It seems that this is more of a problem with udev-182+.

However, so far udev-182 is only a problem on first ever plug.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Tested-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] ngene: add support for Terratec Cynergy 2400i Dual DVB-T
Patrice Chotard [Tue, 31 Jul 2012 18:34:29 +0000 (15:34 -0300)]
[media] ngene: add support for Terratec Cynergy 2400i Dual DVB-T

This code is based on ngene initial check-in (dae52d009fc950b5c209260d50fcc000f5becd3c)

Signed-off-by: Patrice Chotard <patricechotard@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] dvb: add support for Thomson DTT7520X
Patrice Chotard [Tue, 31 Jul 2012 18:31:20 +0000 (15:31 -0300)]
[media] dvb: add support for Thomson DTT7520X

Add support for Thomson DTT7520X pll needed by
ngene card Terratec Cynergy 2400i DT

Signed-off-by: Patrice Chotard <patricechotard@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] nec-decoder: fix NEC decoding for Pioneer Laserdisc CU-700 remote
Sean Young [Tue, 31 Jul 2012 09:37:29 +0000 (06:37 -0300)]
[media] nec-decoder: fix NEC decoding for Pioneer Laserdisc CU-700 remote

This remote sends a header pulse of 8150us followed by a space of 4000us.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] v4l2: typos
Michael Jones [Thu, 26 Jul 2012 13:48:25 +0000 (10:48 -0300)]
[media] v4l2: typos

[mchehab@redhat.com: fix a merge conflict at Documentation/video4linux/v4l2-framework.txt]
Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] DocBook: add stubs for missing DVB CA ioctls
Hans Verkuil [Thu, 9 Aug 2012 10:59:50 +0000 (07:59 -0300)]
[media] DocBook: add stubs for missing DVB CA ioctls

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] DocBook: add stubs for missing DVB DMX ioctls
Hans Verkuil [Thu, 9 Aug 2012 10:50:39 +0000 (07:50 -0300)]
[media] DocBook: add stubs for missing DVB DMX ioctls

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] DocBook: add stubs for the undocumented DVB net ioctls
Hans Verkuil [Thu, 9 Aug 2012 10:42:08 +0000 (07:42 -0300)]
[media] DocBook: add stubs for the undocumented DVB net ioctls

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] DocBook: add missing DVB video ioctls
Hans Verkuil [Thu, 9 Aug 2012 10:27:12 +0000 (07:27 -0300)]
[media] DocBook: add missing DVB video ioctls

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] DocBook: add missing AUDIO_* ioctls
Hans Verkuil [Thu, 9 Aug 2012 08:46:16 +0000 (05:46 -0300)]
[media] DocBook: add missing AUDIO_* ioctls

Add the missing AUDIO_* ioctls and document the V4L2 replacements for the
various DVB AUDIO ioctls that were (ab)used by V4L2.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] DocBook: fix incorrect or missing links
Hans Verkuil [Thu, 9 Aug 2012 09:41:43 +0000 (06:41 -0300)]
[media] DocBook: fix incorrect or missing links

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] DocBook: various version/copyright year updates
Hans Verkuil [Thu, 9 Aug 2012 09:04:43 +0000 (06:04 -0300)]
[media] DocBook: various version/copyright year updates

- update 2011 to 2012 for copyrights
- update V4L2 spec version to 3.6
- update the intro to also refer to part four: the Media Controller
- fix an incorrect revision section
- fix an incorrect 3.6 kernel changes section

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] Remove documentation chunk of non-existent V4L2_CID_AUTO_FOCUS_AREA
Hans Verkuil [Thu, 9 Aug 2012 07:40:57 +0000 (04:40 -0300)]
[media] Remove documentation chunk of non-existent V4L2_CID_AUTO_FOCUS_AREA

Remove documentation chunk of non-existent V4L2_CID_AUTO_FOCUS_AREA
control. It fixes following build error:

Error: no ID for constraint linkend: v4l2-auto-focus-area.

Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: Mark the resizer output video node as the default video node
Laurent Pinchart [Mon, 6 Aug 2012 15:31:31 +0000 (12:31 -0300)]
[media] omap3isp: Mark the resizer output video node as the default video node

The resizer can output YUYV and UYVY in a wide range of sizes, making it
the best video node for regular V4L2 applications.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: ccdc: Add YUV input formats support
Laurent Pinchart [Wed, 31 Aug 2011 14:03:53 +0000 (11:03 -0300)]
[media] omap3isp: ccdc: Add YUV input formats support

Enable the bridge automatically when the input format is YUYV8 or UYVY8.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: ccdc: Remove ispccdc_syncif structure
Laurent Pinchart [Wed, 31 Aug 2011 13:53:41 +0000 (10:53 -0300)]
[media] omap3isp: ccdc: Remove ispccdc_syncif structure

The structure is only used to store configuration data and pass it to
CCDC configuration functions. Access the data directly from the
locations that need it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: ccdc: Remove support for interlaced data and master HS/VS mode
Laurent Pinchart [Wed, 31 Aug 2011 13:42:17 +0000 (10:42 -0300)]
[media] omap3isp: ccdc: Remove support for interlaced data and master HS/VS mode

Those features are half-implemented and not used. Remove them.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: csi2: Add V4L2_MBUS_FMT_YUYV8_2X8 support
Ivaylo Petrov [Mon, 12 Sep 2011 09:54:09 +0000 (06:54 -0300)]
[media] omap3isp: csi2: Add V4L2_MBUS_FMT_YUYV8_2X8 support

Tested with ov9740 and

struct isp_csi2_platform_data {
.interface = ISP_INTERFACE_CSI2A_PHY2,
.bus = {
.csi2 = {
.crc = 1,
.vpclk_div = 1,
}
},
}

Signed-off-by: Ivaylo Petrov <ivpetrov@mm-sol.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: video: Add YUYV8_2X8 and UYVY8_2X8 support
Laurent Pinchart [Thu, 24 May 2012 14:55:00 +0000 (11:55 -0300)]
[media] omap3isp: video: Add YUYV8_2X8 and UYVY8_2X8 support

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: video: Split format info bpp field into width and bpp
Laurent Pinchart [Wed, 31 Aug 2011 14:57:12 +0000 (11:57 -0300)]
[media] omap3isp: video: Split format info bpp field into width and bpp

The bpp field currently stores the sample width and is aligned to the
next multiple of 8 bits when computing data size in memory. This won't
work anymore for YUYV8_2X8 formats. Split the bpp field into a sample
width and a bytes per pixel value.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: preview: Add support for non-GRBG Bayer patterns
Laurent Pinchart [Mon, 18 Jun 2012 14:24:48 +0000 (11:24 -0300)]
[media] omap3isp: preview: Add support for non-GRBG Bayer patterns

Rearrange the CFA interpolation coefficients table based on the Bayer
pattern. Support for non-Bayer CFA patterns is dropped as they were not
correctly supported, and have never been tested.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: preview: Merge gamma correction and gamma bypass
Laurent Pinchart [Fri, 6 Jul 2012 12:12:44 +0000 (09:12 -0300)]
[media] omap3isp: preview: Merge gamma correction and gamma bypass

Enabling gamma bypass disables gamma correction and vice versa. Merge
the two parameters.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: preview: Reorder configuration functions
Laurent Pinchart [Fri, 6 Jul 2012 12:07:33 +0000 (09:07 -0300)]
[media] omap3isp: preview: Reorder configuration functions

Reorder the configuration and enable functions to match the parameters
order.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: preview: Pass a prev_params pointer to configuration functions
Laurent Pinchart [Fri, 6 Jul 2012 11:43:27 +0000 (08:43 -0300)]
[media] omap3isp: preview: Pass a prev_params pointer to configuration functions

Instead of using void pointers and offset arithmetics to compute a
pointer to configuration parameters in a generic way, pass the complete
parameters structure to configuration functions and let them access the
parameters they need.

Also modify the enable functions to use a bool enable parameter instead
of a u8.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: preview: Remove lens shading compensation support
Laurent Pinchart [Fri, 6 Jul 2012 11:26:57 +0000 (08:26 -0300)]
[media] omap3isp: preview: Remove lens shading compensation support

The feature isn't fully implemented and doesn't work, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: queue: Fix omap3isp_video_queue_dqbuf() description comment
Michael Jones [Wed, 27 Jun 2012 15:06:57 +0000 (12:06 -0300)]
[media] omap3isp: queue: Fix omap3isp_video_queue_dqbuf() description comment

Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: ccdc: No semicolon is needed after switch statement
Peter Meerwald [Thu, 21 Jun 2012 16:46:05 +0000 (13:46 -0300)]
[media] omap3isp: ccdc: No semicolon is needed after switch statement

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: Configure HS/VS interrupt source before enabling interrupts
Laurent Pinchart [Fri, 25 May 2012 12:33:00 +0000 (09:33 -0300)]
[media] omap3isp: Configure HS/VS interrupt source before enabling interrupts

This needs to be performed before enabling interrupts as the sensor
might be free-running and the ISP default setting (HS edge) would put an
unnecessary burden on the CPU.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] omap3isp: Don't access ISP_CTRL directly in the statistics modules
Laurent Pinchart [Fri, 25 May 2012 11:35:10 +0000 (08:35 -0300)]
[media] omap3isp: Don't access ISP_CTRL directly in the statistics modules

Use the existing omap3isp_subclk_enable() and omap3isp_subclk_disable()
functions instead.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] vivi: zero fmt.pix.priv as per spec
Hans Verkuil [Mon, 6 Aug 2012 13:43:13 +0000 (10:43 -0300)]
[media] vivi: zero fmt.pix.priv as per spec

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] vivi: add frame size reporting
Hans Verkuil [Mon, 6 Aug 2012 13:37:18 +0000 (10:37 -0300)]
[media] vivi: add frame size reporting

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] vivi: fix colorspace setup
Hans Verkuil [Mon, 6 Aug 2012 13:36:18 +0000 (10:36 -0300)]
[media] vivi: fix colorspace setup

Two of the four possible YUV formats got the wrong colorspace.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: fix possible race condition in usage of dev->ctrlmsg
Devin Heitmueller [Tue, 7 Aug 2012 01:47:07 +0000 (22:47 -0300)]
[media] au0828: fix possible race condition in usage of dev->ctrlmsg

The register read function is referencing the dev->ctrlmsg structure outside
of the dev->mutex lock, which can cause corruption of the value if multiple
callers are invoking au0828_readreg() simultaneously.

Use a stack variable to hold the result, and copy the buffer returned by
usb_control_msg() to that variable.

In reality, the whole recv_control_msg() function can probably be collapsed
into au0288_readreg() since it is the only caller.

Also get rid of cmd_msg_dump() since the only case in which the function is
ever called only is ever passed a single byte for the response (and it is
already logged).

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] em28xx: Remove useless runtime->private_data usage
Ezequiel García [Tue, 12 Jun 2012 12:53:42 +0000 (09:53 -0300)]
[media] em28xx: Remove useless runtime->private_data usage

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] mantis: Terratec Cinergy C PCI HD (CI)
Igor M. Liplianin [Wed, 9 May 2012 10:23:14 +0000 (07:23 -0300)]
[media] mantis: Terratec Cinergy C PCI HD (CI)

This patch seems for rectifying a typo. But actually the difference between
mantis_vp2040.c and mantis_vp2033.c code is a card name only.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: change filename to production/redistributable xc5000c firmware
Devin Heitmueller [Tue, 7 Aug 2012 01:47:14 +0000 (22:47 -0300)]
[media] xc5000: change filename to production/redistributable xc5000c firmware

The original xc5000c driver support was based on a beta version of the
firmware, and there were no redistribution rights.  Change over to using
the release version, for which freely redistributable firmware can be
found here:

http://kernellabs.com/firmware/xc5000/README.xc5000c
http://kernellabs.com/firmware/xc5000/dvb-fe-xc5000c-4.1.30.7.fw

Thanks to Ramon Cazares from Cresta Technology for making the firmware
available as well as working out the licensing issues.

[mchehab@redhat.com: Fix a merge conflict with the patch that added support
 for MODULE_FIRMWARE() macro]
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Cc: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: make xc5000 firmware speedup apply to the xc5000c as well
Devin Heitmueller [Tue, 7 Aug 2012 01:47:13 +0000 (22:47 -0300)]
[media] au0828: make xc5000 firmware speedup apply to the xc5000c as well

Make the firmware speedup work for the 5000c as well as the original
xc5000.  This cuts firmware load time in half.

Thanks to John Casey at Hauppauge for loaning me a board for testing.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: fix a couple of missed edge cases for i2c gate with analog
Devin Heitmueller [Tue, 7 Aug 2012 01:47:12 +0000 (22:47 -0300)]
[media] au0828: fix a couple of missed edge cases for i2c gate with analog

This patch addresses a couple of cases where I forgot to pop open the
gate when in analog mode (a correlary to fix the change made in patch
1c58d5b4a5fca42dce5428bd79b9405878017735).

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: show debug version fields in decimal instead of hex
Devin Heitmueller [Tue, 7 Aug 2012 01:47:11 +0000 (22:47 -0300)]
[media] xc5000: show debug version fields in decimal instead of hex

The driver prints out a dotted version number but it's in hex.  As a
result, the version doesn't visibly match the filename for the firmware,
and it caused a bunch of confusion while discussing different versions
with the chip manufacturer.

Change the firmware printout to be in decimal.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: tweak workaround for i2c clock stretching bug
Devin Heitmueller [Tue, 7 Aug 2012 01:47:10 +0000 (22:47 -0300)]
[media] au0828: tweak workaround for i2c clock stretching bug

The hack I put in a couple of years ago to avoid clock stretching issues
when talking to the xc5000 worked fine for writes, but intermittently
fails for register reads, because the xc5000 may stretch the clock for
longer between bytes (I was seeing cases of 21 us on the analyzer).

The problem manifested itself as the xc5000 firmware version and PLL
lock register intermittently showing garbage values.

Slow down the i2c bus from 30 KHz to 20 KHz to accommodate.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: add support for firmware load check and init status
Devin Heitmueller [Tue, 7 Aug 2012 01:47:09 +0000 (22:47 -0300)]
[media] xc5000: add support for firmware load check and init status

The xc5000c and newer versions of the xc5000a firmware need minor revisions
to their initialization process.  Add support for validating the firmware
was properly loaded, as well as checking the init status after initialization.

Based on advice from CrestaTech support as well as xc5000 datasheet v2.3.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: reset device if encountering PLL lock failure
Devin Heitmueller [Tue, 7 Aug 2012 01:47:08 +0000 (22:47 -0300)]
[media] xc5000: reset device if encountering PLL lock failure

It's possible for the xc5000 to enter an unknown state such that all
subsequent tuning requests fail.  The only way to recover is to reset the
tuner and reload the firmware.  This problem was detected after several days
straight of issuing tuning requests every five seconds.

Reset the firmware in the event that the PLL is in an unlocked state.  This
solution was provided by the engineer at CrestaTech (the company that acquired
Xceive).

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: tune retry interval for i2c interaction
Devin Heitmueller [Tue, 7 Aug 2012 01:47:06 +0000 (22:47 -0300)]
[media] au0828: tune retry interval for i2c interaction

Adjust the retry timeout and number of retries to speed up xc5000
firmware download.  With this change it goes from 4.2 seconds to 2.9.
The net time waited is pretty much the same, but we just poll more
often.

Tested at 250 KHz as well as 30 KHz.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: remove control buffer from send_control_msg
Devin Heitmueller [Tue, 7 Aug 2012 01:47:05 +0000 (22:47 -0300)]
[media] au0828: remove control buffer from send_control_msg

There are no cases where a control message is ever sent to the au0828
with an actual buffer defined.  Remove the reference to dev->ctrlmsg,
which currently requires us to hold a mutex since it is shared with the
read function.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: speed up i2c clock when doing xc5000 firmware load
Devin Heitmueller [Tue, 7 Aug 2012 01:47:04 +0000 (22:47 -0300)]
[media] au0828: speed up i2c clock when doing xc5000 firmware load

Put a hack in place to speed up the firmware load in the case that the
xc5000 has just been reset.  The chip can safely do 400 KHz in this mode,
while in normal operation it can only do 100 KHz.

This reduces the firmware load time from 6.9 seconds to 4.2.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: fix case where STREAMOFF being called on stopped stream causes BUG()
Devin Heitmueller [Tue, 7 Aug 2012 01:47:03 +0000 (22:47 -0300)]
[media] au0828: fix case where STREAMOFF being called on stopped stream causes BUG()

We weren't checking whether the resource was in use before calling
res_free(), so applications which called STREAMOFF on a v4l2 device that
wasn't already streaming would cause a BUG() to be hit (MythTV).

Reported-by: Larry Finger <larry.finger@lwfinger.net>
Reported-by: Jay Harbeston <jharbestonus@gmail.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: prevent i2c gate from being kept open while in analog mode
Devin Heitmueller [Tue, 7 Aug 2012 01:47:02 +0000 (22:47 -0300)]
[media] au0828: prevent i2c gate from being kept open while in analog mode

The original implementation of the analog support would use an
i2c_gate_ctrl function when using the digital side of the au8522, but on
the analog side we would always just force the gate open and leave it
open all the time.

This can have adverse effects on the xc5000 given the tuner is receiving
all the spurious i2c traffic (a problem which can be exaggerated due to
bugs in the au0828 i2c hardware implementation).

Rework the existing hack to only open/close the gate when actually
talking to the tuner.

This logic might need to be reworked a bit if anybody ever tries to add
support for a board that has the au0828/au8522 but doesn't have digital
support implemented (because the i2c_gate_ctrl callback is being set in
the DVB attach).  However given how few different models are in
circulation, this can be deferred until such a situation arises (if
ever).

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: don't invoke auto calibration unless we really did reset tuner
Devin Heitmueller [Tue, 7 Aug 2012 01:47:01 +0000 (22:47 -0300)]
[media] xc5000: don't invoke auto calibration unless we really did reset tuner

The current code invokes the auto calibration of the tuner whenever the
init routine is called (whenever the DVB frontend opens the device).
However we should really only be invoking the calibration if we actually
did reset the device and reload the firmware.

Rework the routine to only do calibration if reset and firmware load was
performed.  Also because the called function is now a no-op if the
firmware is already loaded, the caller no longer needs to invoke
is_firmware_loaded().

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au8522: fix regression in logging introduced by separation of modules
Devin Heitmueller [Tue, 7 Aug 2012 01:47:00 +0000 (22:47 -0300)]
[media] au8522: fix regression in logging introduced by separation of modules

The au8522 driver was broken into three modules (dig, decoder, common),
and as a result the debug modprobe option doesn't work for any of the
common functions.

Copy the module macros over to the common module so that the debug
option works again.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: make sure video standard is setup in tuner-core
Devin Heitmueller [Tue, 7 Aug 2012 01:46:59 +0000 (22:46 -0300)]
[media] au0828: make sure video standard is setup in tuner-core

If the user performs a tuning attempt without explicitly calling the
s_std ioctl(), a value of zero is sent from tuner-core to xc5000.  This
causes the xc5000 driver to leave the standard unchanged.  The problem
was masked by the fact that the xc5000 driver defaulted to NTSC, but if
you happened to perform an ATSC/ClearQAM tuning attempt and then do an
analog tune, the net effect is an analog tune with the standard still
set to DTV6.

Keep track of whether the standard has ever been sent to tuner-core.  We
don't make an s_std subdev call explicitly during probe because that
will cause a firmware load (which is very time consuming on the 950q).
With the logic in this patch, the s_std call will occur automatically on
the s_freq call if it hasn't already been set.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] au0828: fix race condition that causes xc5000 to not bind for digital
Devin Heitmueller [Tue, 7 Aug 2012 01:46:58 +0000 (22:46 -0300)]
[media] au0828: fix race condition that causes xc5000 to not bind for digital

In some cases users would see the xc5000_attach() call failing for the
digital side of the tuner on initialization.  This is because of udev
running v4l-id while the digital side of the board is still coming up.

This is the exact same race condition which was present in em28xx (not
surprising since I copied all the locking logic from that driver when I
added analog support).  Reproduce Mauro's fix from the em28xx driver in
au0828.

Reported-by: Rick Harding <rharding@mitechie.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
12 years ago[media] xc5000: properly report i2c write failures
Devin Heitmueller [Tue, 7 Aug 2012 01:46:57 +0000 (22:46 -0300)]
[media] xc5000: properly report i2c write failures

The logic as written would *never* actually return an error condition,
since the loop would run until the counter hit zero but the check was
for a value less than zero.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>