GitHub/LineageOS/android_kernel_motorola_exynos9610.git
14 years agoV4L/DVB (13209): cx23885: card mygica x8506 add analog video input support
David T.L. Wong [Wed, 21 Oct 2009 14:09:28 +0000 (11:09 -0300)]
V4L/DVB (13209): cx23885: card mygica x8506 add analog video input support

Signed-off-by: David T. L. Wong <davidtlwong@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13208): cx23885: fix uninitialized member bug
David T.L. Wong [Wed, 21 Oct 2009 14:08:30 +0000 (11:08 -0300)]
V4L/DVB (13208): cx23885: fix uninitialized member bug

Signed-off-by: David T. L. Wong <davidtlwong@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13207): cx23885: add component input type
David T.L. Wong [Wed, 21 Oct 2009 14:07:24 +0000 (11:07 -0300)]
V4L/DVB (13207): cx23885: add component input type

Signed-off-by: David T. L. Wong <davidtlwong@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13206): cx25840: add component support
David T.L. Wong [Tue, 20 Oct 2009 15:13:39 +0000 (12:13 -0300)]
V4L/DVB (13206): cx25840: add component support

Signed-off-by: David T.L. Wong <davidtlwong@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13204): saa7134: add support for the Leadtek DTV1000S
Michael Krufky [Fri, 5 Jun 2009 07:28:28 +0000 (04:28 -0300)]
V4L/DVB (13204): saa7134: add support for the Leadtek DTV1000S

Thanks to Terry Wu for finding the GPIOs required for svideo / composite input

Cc: Terry Wu <terrywu2009@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13201): saa7164: disable tda18271 slave tuner output on slave in standby...
Michael Krufky [Mon, 28 Sep 2009 19:44:52 +0000 (16:44 -0300)]
V4L/DVB (13201): saa7164: disable tda18271 slave tuner output on slave in standby mode

Enable the standby mode optimization to disable the tda18271
slave tuner output / loop thru options when in low power mode
on the slave tuner, only.  The master tuner must always leave
slave tuner output / loop thru enabled.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13198): gspca - ov519: Bad frame pointer in ovfx2 packet scan.
Jean-Francois Moine [Mon, 19 Oct 2009 10:40:33 +0000 (07:40 -0300)]
V4L/DVB (13198): gspca - ov519: Bad frame pointer in ovfx2 packet scan.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13197): gspca - sonixj: Adjust colors and autogain for sensor om6802.
Amauri Magagna [Sat, 17 Oct 2009 10:21:29 +0000 (07:21 -0300)]
V4L/DVB (13197): gspca - sonixj: Adjust colors and autogain for sensor om6802.

- set correct colors at startup time
- autogain was too slow (4-5 mn - now 15-30 s))

Signed-off-by: Amauri Magagna <amaurimagagna@gmail.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13196): gspca - gl860: add flip/mirror for OV2640
Olivier Lorin [Thu, 15 Oct 2009 07:20:54 +0000 (04:20 -0300)]
V4L/DVB (13196): gspca - gl860: add flip/mirror for OV2640

- add flip/mirror support for OV2640
- fix for backlight value range
- fix for red-blue inversion hue mode with V4L1 applications

Signed-off-by: Olivier Lorin <o.lorin@laposte.net>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13195): gspca - gl860: comment changes and naming scheme egalization
Olivier Lorin [Thu, 15 Oct 2009 07:13:45 +0000 (04:13 -0300)]
V4L/DVB (13195): gspca - gl860: comment changes and naming scheme egalization

- small changes in comments
- unified naming scheme for subdriver variables

Signed-off-by: Olivier Lorin <o.lorin@laposte.net>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13194): gspca - gl860: improvement of the main driver part
Olivier Lorin [Thu, 15 Oct 2009 07:12:46 +0000 (04:12 -0300)]
V4L/DVB (13194): gspca - gl860: improvement of the main driver part

- fix for warning compilation about sd_ctrls
- trace improvement while probing the sensor

Signed-off-by: Olivier Lorin <o.lorin@laposte.net>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13193): gspca - zc3xx.c: Change init sequences of sensor tas5130c.
Jean-Francois Moine [Wed, 7 Oct 2009 08:24:19 +0000 (05:24 -0300)]
V4L/DVB (13193): gspca - zc3xx.c: Change init sequences of sensor tas5130c.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13192): gspca - pac_common: redesign function for finding Start Of Frame
Marton Nemeth [Mon, 5 Oct 2009 08:41:30 +0000 (05:41 -0300)]
V4L/DVB (13192): gspca - pac_common: redesign function for finding Start Of Frame

The original implementation of pac_find_sof() does not always find
the Start Of Frame (SOF) marker. Replace it with a state machine
based design.

Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13188): xc5000: return an error on tuning attempts if firmware not loaded
Devin Heitmueller [Wed, 14 Oct 2009 02:44:14 +0000 (23:44 -0300)]
V4L/DVB (13188): xc5000: return an error on tuning attempts if firmware not loaded

Xc5000 tuning attempts shouldn't return zero in the case where the firmware
did not load successfully.

Thanks to Michael Krufky for pointing out this issue.

Cc: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13187): au8522: add support for saturation and hue controls
Devin Heitmueller [Wed, 14 Oct 2009 02:32:29 +0000 (23:32 -0300)]
V4L/DVB (13187): au8522: add support for saturation and hue controls

Add support for saturation/hue controls, prompted by errors showing up in
the mythbackend log.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13185): gspca: Don't resubmit error status URB's when suspending
Hans de Goede [Sat, 24 Oct 2009 18:02:14 +0000 (15:02 -0300)]
V4L/DVB (13185): gspca: Don't resubmit error status URB's when suspending

gspca: Don't resubmit error status URB's when suspending

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13184): gspca: Don't forget to resubmit URB's in case of an error
Hans de Goede [Fri, 23 Oct 2009 09:56:06 +0000 (06:56 -0300)]
V4L/DVB (13184): gspca: Don't forget to resubmit URB's in case of an error

The gscpa core was not resubmitting URB's when the URB status was an error,
this means we will loose URB's (potentially all stopping the stream) in
case of sporadic USB issues. I've seen this with an Aiptek stv0680 based
PenCam connected through an USB 2.0 hub.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13183): gspca: add stv0680 subdriver
Hans de Goede [Fri, 23 Oct 2009 09:50:12 +0000 (06:50 -0300)]
V4L/DVB (13183): gspca: add stv0680 subdriver

This patch adds a new subdriver to gspca supporting cams with the stv0680
bridge (replacing the old in kernel v4l1 driver).

Many thanks to Hans Verkuil for providing me with one of the 2 cams used in
testing this new sub driver.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13182): gspca w9968cf: slight tweak to vstart and hstart
Hans de Goede [Mon, 19 Oct 2009 09:47:03 +0000 (06:47 -0300)]
V4L/DVB (13182): gspca w9968cf: slight tweak to vstart and hstart

gspca w9968cf: slight tweak to vstart and hstart to get rid of black borders
in 640x480 mode.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13181): gspca w9968cf: Add support for JPEG compression
Hans de Goede [Mon, 19 Oct 2009 09:08:01 +0000 (06:08 -0300)]
V4L/DVB (13181): gspca w9968cf: Add support for JPEG compression

gspca w9968cf: Add support for JPEG compression, this enables much higher
framerates at 320x240 / 352x288 and also allows for 640x480 mode for
cams which can do this. The w9968cf uses planar JPEG, which libv4l until
now did not support, so this requires atleast version 0.6.3 of libv4l.

And something important I forgot to mention in my earlier w9968cf commits:
Many thanks to Hans Verkuil for giving me a w9968cf based cam, which has
allowed me to develop the gspca w9968cf support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13180): gspca-w9968cf: Don't add an extra packet to the buffer after the EOF
Hans de Goede [Fri, 16 Oct 2009 14:26:22 +0000 (11:26 -0300)]
V4L/DVB (13180): gspca-w9968cf: Don't add an extra packet to the buffer after the EOF

gspca-w9968cf: Don't add an extra packet to the buffer after the EOF,
this makes the frame data size bigger then it should be which makes
gstreamer discard it.

This patch also fixes an unrelated compiler warning.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13179): gspca_ov519: cache sensor regs to avoid unnecessary slow i2c reads...
Hans de Goede [Fri, 16 Oct 2009 10:42:53 +0000 (07:42 -0300)]
V4L/DVB (13179): gspca_ov519: cache sensor regs to avoid unnecessary slow i2c reads / writes

Cache sensor regs to avoid unnecessary slow i2c reads / writes, this speeds
up sd_start a bit with most bridges and a lot (from 5 seconds down to 0.3
seconds) with W996xCF cams, as this avoids very slow bit bang IO over
USB i2c reads.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13178): gspca: Add support for Winbond W9967CF and W9968CF camera's
Hans de Goede [Fri, 16 Oct 2009 10:13:07 +0000 (07:13 -0300)]
V4L/DVB (13178): gspca: Add support for Winbond W9967CF and W9968CF camera's

This patch adds support to gspca for the Winbond W9967CF and W9968CF
camera's. This is mostly a port of the existing v4l1 driver to gspca
(making it v4l2). But this also features fixes to the bitbanging i2c code
(send a nack not an ack after reading the last byte of a transfer), which
gets rid of the weird errors which were being seen there, and of
the smbus_refresh() hack to get around these errors.

Also the vstart settings have been tweaked to work with different
frequency filter settings.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13177): radio: Add support for TEF6862 tuner
Richard Röjfors [Tue, 22 Sep 2009 13:14:39 +0000 (10:14 -0300)]
V4L/DVB (13177): radio: Add support for TEF6862 tuner

This patch adds support for TEF6862 Car Radio Enhanced Selectivity Tuner.

It's implemented as a subdev, supporting checking signal strength
and setting and getting frequency.

Signed-off-by: Richard Röjfors <richard.rojfors@mocean-labs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13176): adv7180: Support checking standard via interrupts
Richard Röjfors [Tue, 22 Sep 2009 09:07:06 +0000 (06:07 -0300)]
V4L/DVB (13176): adv7180: Support checking standard via interrupts

If the I2C device provides an interrupt it is registered and the
standard
is updated via interrupts rather than polling.

Since I2C communication is needed, the interrupt handler fires off a
work which will check the new standard, and store it in the internal
structure.

To handle mutual exclusion a mutex is introduced.

Signed-off-by: Richard Röjfors <richard.rojfors@mocean-labs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13175): adv7180: Use __devinit and __devexit macros
Richard Röjfors [Tue, 22 Sep 2009 09:07:34 +0000 (06:07 -0300)]
V4L/DVB (13175): adv7180: Use __devinit and __devexit macros

This patch defines the probe and remove function as __devinit and __devexit.

Signed-off-by: Richard Röjfors <richard.rojfors@mocean-labs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13174): adv7180: Support for setting input status
Richard Röjfors [Tue, 22 Sep 2009 09:06:34 +0000 (06:06 -0300)]
V4L/DVB (13174): adv7180: Support for setting input status

Support for settings the input standard of the ADV7180.

When the input standard is set there is no use to ask the
chip for standard, therefore it is cached in the driver.

Signed-off-by: Richard Röjfors <richard.rojfors@mocean-labs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13173): adv7180: Support for getting input status
Richard Röjfors [Tue, 22 Sep 2009 09:05:42 +0000 (06:05 -0300)]
V4L/DVB (13173): adv7180: Support for getting input status

This patch adds support to the ADV7180 driver to check the input
status.

Since the status is held in the same register as the input standard
a small restructuring of the code is done to reuse the code for
reading the register

Signed-off-by: Richard Röjfors <richard.rojfors@mocean-labs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13168): Add support for Asus Europa Hybrid DVB-T card (SAA7134 SubVendor...
Danny Wood [Sun, 20 Sep 2009 15:14:21 +0000 (12:14 -0300)]
V4L/DVB (13168): Add support for Asus Europa Hybrid DVB-T card (SAA7134 SubVendor ID: 0x1043 Device ID: 0x4847)

Adds the device IDs and driver linking to allow the Asus Europa DVB-T
card to operate with these drivers.
The device has a SAA7134 chipset with a TD1316 Hybrid Tuner.
All inputs work on the card including switching between DVB-T and
Analogue TV, there is also no IR with this card.

[mchehab@redhat.com: CodingStyle fixes]

Signed-off-by: Danny Wood <danwood76@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13166): remove duplicate structure field initialization
Julia Lawall [Sat, 19 Sep 2009 19:48:17 +0000 (16:48 -0300)]
V4L/DVB (13166): remove duplicate structure field initialization

The definition of tvaudio_tuner_ops initializes the s_tuner field twice.
It appears that the second case should initialize the g_tuner field.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
identifier I, s, fld;
position p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@s@
identifier I, s, r.fld;
position r.p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@script:python@
p0 << r.p0;
fld << r.fld;
ps << s.p;
pr << r.p;
@@

if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column):
  cocci.print_main(fld,p0)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13165): videobuf do not force buffer size to be multiple of PAGE_SIZE
Tuukka Toivonen [Thu, 23 Jul 2009 13:56:25 +0000 (10:56 -0300)]
V4L/DVB (13165): videobuf do not force buffer size to be multiple of PAGE_SIZE

When the image size (bytesperline*height) is not multiple
of PAGE_SIZE, v4l2 rounded the required buffer size to
be multiple of PAGE_SIZE. This prevented user space
to store images directly into userptr buffers which were
not multiple of PAGE_SIZE. This constraint is removed.

The start address is still assumed to be required
page-aligned, ie., when v4l2 allocates mmap buffers,
the offset between different buffers is page-aligned.

Signed-off-by: Tuukka Toivonen <tuukka.o.toivonen@nokia.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13164): DocBook/dvb: Starts documenting DVBS2API ioctls
Mauro Carvalho Chehab [Sun, 25 Oct 2009 00:18:46 +0000 (21:18 -0300)]
V4L/DVB (13164): DocBook/dvb: Starts documenting DVBS2API ioctls

DVBS2API introduced two new ioctls that allows changing/getting details about newer
video standards like DVB-S2 and ISDB-T. There are lots of thing to do in this chapter,
but, for now, just add a session there, in order to allow make to not complain about
undefined symbol.

With this patch, all ioctls at the frontend.h API were somehow documented.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13163): Docbook/dvb: Rename isdbt.xml to dvbproperty.xml
Mauro Carvalho Chehab [Sun, 25 Oct 2009 00:01:22 +0000 (21:01 -0300)]
V4L/DVB (13163): Docbook/dvb: Rename isdbt.xml to dvbproperty.xml

We'll need to add the documentation for FE_[GET|SET]_PROPERTY that
is not specific to isdb-t. Instead of doing it at frontend.xml,
it is better to have a separate session for it. Also, isdbt.xml assumes
that those ioctls were already introduced, and documents several exisiting
properties. So, better to just rename it and add the documentation for it,
together with each existing property there.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13162): Docbook/dvb: add missing specs for FE_DISHNETWORK_SEND_LEGACY_CMD...
Mauro Carvalho Chehab [Sat, 24 Oct 2009 23:19:20 +0000 (20:19 -0300)]
V4L/DVB (13162): Docbook/dvb: add missing specs for FE_DISHNETWORK_SEND_LEGACY_CMD ioctl

While this ioctl should not be used, and is a good canditate for
Documentation/feature-removal-schedule.txt, while it is on kernel,
it needs to be documented.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13161): Add missing specs for FE_SET_FRONTEND_TUNE_MODE ioctl.
Mauro Carvalho Chehab [Sat, 24 Oct 2009 22:55:24 +0000 (19:55 -0300)]
V4L/DVB (13161): Add missing specs for FE_SET_FRONTEND_TUNE_MODE ioctl.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13160): DocBook/Makefile: add linux/dvb/frontend.h header file
Mauro Carvalho Chehab [Sat, 24 Oct 2009 22:24:43 +0000 (19:24 -0300)]
V4L/DVB (13160): DocBook/Makefile: add linux/dvb/frontend.h header file

Adds linux/dvb/frontend.h header file at DocBook, and creates cross-references
for the frontend ioctls.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13159): DocBook/frontend: use cross references for ioctls
Mauro Carvalho Chehab [Sat, 24 Oct 2009 22:10:46 +0000 (19:10 -0300)]
V4L/DVB (13159): DocBook/frontend: use cross references for ioctls

Rename all sessions id's for frontend ioctls to match ioctl name and
add the proper cross-link references for those ioctls.

This also helps to identify what ioctls are missing specs.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13157): dvb_frontend: represent all DVBS2API commands via macro
Mauro Carvalho Chehab [Fri, 23 Oct 2009 23:09:42 +0000 (20:09 -0300)]
V4L/DVB (13157): dvb_frontend: represent all DVBS2API commands via macro

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13155): uvcvideo: Add a module parameter to set the streaming control timeout
Laurent Pinchart [Fri, 9 Oct 2009 23:55:23 +0000 (20:55 -0300)]
V4L/DVB (13155): uvcvideo: Add a module parameter to set the streaming control timeout

The default streaming control timeout was found by Ondrej Zary to be too low
for some Logitech webcams. With kernel 2.6.22 and newer they would timeout
during initialization unles the audio function was initialized before the
video function.

Add a module parameter to set the streaming control timeout and increase the
default value from 1000ms to 3000ms to fix the above problem.

Thanks to Ondrej Zary for investigating the issue and providing an initial
patch.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13154): uvcvideo: Handle garbage at the end of streaming interface descriptors
Laurent Pinchart [Thu, 8 Oct 2009 22:38:10 +0000 (19:38 -0300)]
V4L/DVB (13154): uvcvideo: Handle garbage at the end of streaming interface descriptors

At least one 5986:0241 webcam model includes vendor-specific descriptors
at the end of its streaming interface descriptors. Print an information
UVC_TRACE_DESCR message and try to continue parsing the descriptors
rather than bailing out with an error.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13153): uvcvideo: Fix uvc_alloc_urb_buffers()
Ming Lei [Sun, 27 Sep 2009 08:30:34 +0000 (05:30 -0300)]
V4L/DVB (13153): uvcvideo: Fix uvc_alloc_urb_buffers()

This patch sets stream->urb_size as psize*npackets
before calling uvc_alloc_urb_buffers, which may fix
a possible failure of usb_buffer_free in case usb_buffer_alloc
returns NULL. The patch is based on the ideas below:

1,If usb_buffer_alloc can't allocate a buffer sucessfully,
uvc_free_urb_buffers will be called to free the allocated
buffers, and stream->urb_size is required to be passed to
usb_buffer_free;

2,uvc_free_urb_buffers can reset stream->urb_size.

This patch is against linux-v2.6.31-next-20090926.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13152): uvcvideo: Rely on videodev to reference-count the device
Laurent Pinchart [Wed, 30 Sep 2009 00:07:19 +0000 (21:07 -0300)]
V4L/DVB (13152): uvcvideo: Rely on videodev to reference-count the device

The uvcvideo driver has a driver-wide lock and a reference count to protect
against a disconnect/open race. Now that videodev handles the race itself,
reference-counting in the driver can be removed.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13151): uvcvideo: Dismiss privileges when freeing video buffers
Laurent Pinchart [Wed, 2 Sep 2009 06:12:26 +0000 (03:12 -0300)]
V4L/DVB (13151): uvcvideo: Dismiss privileges when freeing video buffers

Dismiss privileges on the file handle when calling VIDIOC_REQBUFS with a
buffer count of 0. This allows applications to release the streaming
permissions on the file handle without closing it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13150): uvcvideo: Don't acquire privileges in VIDIOC_TRY_FMT
Laurent Pinchart [Wed, 2 Sep 2009 06:09:02 +0000 (03:09 -0300)]
V4L/DVB (13150): uvcvideo: Don't acquire privileges in VIDIOC_TRY_FMT

The VIDIOC_TRY_FMT ioctl doesn't interfere with video streaming and thus
should succeed on an unprivileged file handle.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13149): uvcvideo: Add a new UVC_TRACE_VIDEO trace level
Laurent Pinchart [Thu, 6 Aug 2009 14:41:17 +0000 (11:41 -0300)]
V4L/DVB (13149): uvcvideo: Add a new UVC_TRACE_VIDEO trace level

Use the trace level for messages related to video URB buffers allocation and
alternate setting selection.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13148): uvcvideo: Handle V4L2_CTRL_TYPE_BUTTON control type in VIDIOC_QUERYCTRL
Laurent Pinchart [Thu, 6 Aug 2009 09:05:40 +0000 (06:05 -0300)]
V4L/DVB (13148): uvcvideo: Handle V4L2_CTRL_TYPE_BUTTON control type in VIDIOC_QUERYCTRL

Return minimum, maximum and step set to 0 without querying the hardware.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13146): gspca_ov519: cleanup sensor handling
Hans de Goede [Mon, 12 Oct 2009 14:32:44 +0000 (11:32 -0300)]
V4L/DVB (13146): gspca_ov519: cleanup sensor handling

There were various "if (sensor == foo)" pieces of code inside ov519.c,
move these bits to the sensor specific init functions, where they
belong.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13145): gscpa_ov519: add support for the ovfx2 bridge
Hans de Goede [Mon, 12 Oct 2009 13:07:57 +0000 (10:07 -0300)]
V4L/DVB (13145): gscpa_ov519: add support for the ovfx2 bridge

gscpa_ov519: add support for the ovfx2 bridge

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13144): gspca_ov519: Add support for OV2610 and OV3610 sensors
Hans de Goede [Sun, 11 Oct 2009 12:49:03 +0000 (09:49 -0300)]
V4L/DVB (13144): gspca_ov519: Add support for OV2610 and OV3610 sensors

This patch adds support for the OV2610 and OV3610 sensors to the gspca
ov519 subdriver. This is a preparation patch for adding ovfx2 bridge
support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13143): gspca_ov519 cleanup sensor detection
Hans de Goede [Sun, 11 Oct 2009 10:41:46 +0000 (07:41 -0300)]
V4L/DVB (13143): gspca_ov519 cleanup sensor detection

gspca_ov519 cleanup sensor detection

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13142): gspca_mr97310a: small tweak to CIF sensor type 1 exposure setting
Hans de Goede [Sun, 11 Oct 2009 08:22:29 +0000 (05:22 -0300)]
V4L/DVB (13142): gspca_mr97310a: small tweak to CIF sensor type 1 exposure setting

The CIF sensor type 1 exposure setting got clamped at 300, as settings below
300 do not work well (and do work for the other sensors). This patch
scales the 0-4095 range to 300-4095 instead of ignoring changes between
300, avoiding have a part of the control range where nothing happens.

This is esp. important for software autogain as done by libv4l.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13141): gspca_sq905c: once one frame is discarded it keeps discarding all...
Hans de Goede [Fri, 9 Oct 2009 07:17:42 +0000 (04:17 -0300)]
V4L/DVB (13141): gspca_sq905c: once one frame is discarded it keeps discarding all frames

While checking all gspca sub drivers pkt_scan functions for a bug I found in
1 of them (and after checking also in another), I noticed a bug in the
gspca_sq905c work queue function, once it has decided to start discarding a
frame because the application is not reading fast enough (and thus returning
buffers to fill fast enough), it never stops discarding.

This patch fixes this by simply completely removing the "discarding"
variable, if we need to discard the current frame because there is no buffer
to store it, the "frame" pointer will be NULL, so that is all we need to
check.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13140): gspca_jeilinj: once one frame is discarded it keeps discarding all...
Hans de Goede [Fri, 9 Oct 2009 06:58:35 +0000 (03:58 -0300)]
V4L/DVB (13140): gspca_jeilinj: once one frame is discarded it keeps discarding all frames

While checking all gspca sub drivers pkt_scan functions for a bug I found in
1 of them (and after checking also in another), I noticed a bug in the
gspca_jeilinj work queue function, once it has decided to start discard a
frame because the application is not reading fast enough (and thus returning
buffers to fill fast enough), it never stops discarding.

This patch fixes this by simply completely removing the "discarding"
variable, if we need to discard the current frame because there is no buffer
to store it, the "frame" pointer will be NULL, so that is all we need to
check.

I've also moved the gspca_get_i_frame() call and the writing of the jpg
header to the buffer to after the first usb_bulk_msg() call, as we don't
need it before that, and that will give the app slightly more time to
queue a buffer for us to fill.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13139): gspca_mr97310a: Improve VGA sensor type detection
Theodore Kilgore [Fri, 9 Oct 2009 06:54:49 +0000 (03:54 -0300)]
V4L/DVB (13139): gspca_mr97310a: Improve VGA sensor type detection

Improve (and also simplify :) gspca_mr97310a: VGA sensor type detection.
As it was still failing on some machines (not with some cams, but on
some machines interesting enough).

Signed-off-by: Theodore Kilgore <kilgota@banach.math.auburn.edu>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13138): gspca_sq905: cleanup sq905_dostream
Hans de Goede [Mon, 5 Oct 2009 08:58:18 +0000 (05:58 -0300)]
V4L/DVB (13138): gspca_sq905: cleanup sq905_dostream

-Remove use of unneeded discarding variable
-Cleanup locking to only take usb_lock around access to the control
 endpoint, by no longer taking the lock around the bulk transfer
 (which takes most of the time) we can remove the msleep(1) which was
 needed to give the gspca core a chance to grab the usb_lock to signal
 us to stop.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13137): gspca_mr97310a: Add controls for vga cams with sensor type 0
Theodore Kilgore [Mon, 5 Oct 2009 08:11:35 +0000 (05:11 -0300)]
V4L/DVB (13137): gspca_mr97310a: Add controls for vga cams with sensor type 0

This patch adds controls for vga cams with sensor type 0, in order to
correctly report the present controls, the probing of the sensor type
has been moved from sd_start to sd_config, since this made the sensor
type probing unreliable the detection method was changed.

Note this requires the camera to enter streaming mode, so sd_config now
briefly makes the camera stream.

Signed-off-by: Theodore Kilgore <kilgota@banach.math.auburn.edu>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13135): Add support for TeVii remotes
Igor M. Liplianin [Wed, 23 Sep 2009 17:44:12 +0000 (14:44 -0300)]
V4L/DVB (13135): Add support for TeVii remotes

The patch brings infrared remote support for some cx88 based cards.
Such as TeVii S460,S420.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13134): Add support for TBS-likes remotes
Igor M. Liplianin [Sat, 19 Sep 2009 12:51:12 +0000 (09:51 -0300)]
V4L/DVB (13134): Add support for TBS-likes remotes

The patch brings infrared remote support for some cx88 based cards.
Such as:
TeVii S460,S420; Omicom SS4; SatTrade ST4200;
TBS 8920,8910; Prof 7300,6200.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13130): soc-camera: add a new driver for the RJ54N1CB0C camera sensor from...
Guennadi Liakhovetski [Mon, 5 Oct 2009 15:54:04 +0000 (12:54 -0300)]
V4L/DVB (13130): soc-camera: add a new driver for the RJ54N1CB0C camera sensor from Sharp

This adds an soc-camera / v4l2-subdev driver for the RJ54N1CB0C CMOS camera
sensor from Sharp. The sensor is very picky about initialisation and
configuration sequences. The driver limits artificially maximum window size by
800x600, although the sensor supports 1600x1200. Sizes above 800x600 don't seem
to work correctly, besides, examples from the system integrator use sizes above
640x480 only for still photography. Unfortunately, I had to use "magic"
register-value pairs for undocumented and "reserved" registers. This version of
the driver also omits some functionality, like cropping, which hasn't been
sufficiently tested yet and will be added later.

 create mode 100644 drivers/media/video/rj54n1cb0c.c

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13128): sh_mobile_ceu_camera: add VBP error support
Kuninori Morimoto [Mon, 5 Oct 2009 15:48:59 +0000 (12:48 -0300)]
V4L/DVB (13128): sh_mobile_ceu_camera: add VBP error support

If CEU driver can not receive data from camera,
CETCR has VBP error state.
Then, CEU is stopped and cure operation is needed.
This patch add VBP error cure operation.

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13127): sh_mobile_ceu: add soft reset function
Kuninori Morimoto [Mon, 5 Oct 2009 15:48:20 +0000 (12:48 -0300)]
V4L/DVB (13127): sh_mobile_ceu: add soft reset function

Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13121): gspca - pac7311: add comment about JPEG header
Marton Nemeth [Sun, 4 Oct 2009 16:58:19 +0000 (13:58 -0300)]
V4L/DVB (13121): gspca - pac7311: add comment about JPEG header

Add comment about the meaning of the fixed JPEG header bytes used to
create each image.

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13120): gspca - pac7311: remove redundant register page switching
Marton Nemeth [Sun, 4 Oct 2009 16:56:50 +0000 (13:56 -0300)]
V4L/DVB (13120): gspca - pac7311: remove redundant register page switching

Remove redundant register page switching to page 0 when changing the
color control.

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13119): gspca - pac7311: remove magic value for USB_BUF_SZ
Marton Nemeth [Sun, 4 Oct 2009 16:54:48 +0000 (13:54 -0300)]
V4L/DVB (13119): gspca - pac7311: remove magic value for USB_BUF_SZ

The length check in reg_w_var() function is because the buffer contents
is copied to gspca_dev->usb_buf which has the size of USB_BUF_SZ bytes as
defined in drivers/media/video/gspca/gspca.h. Replace the number with
symbol for better readability and maintainability.

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13118): gspca - pac7311: remove magic values for END_OF_SEQUENCE and LOAD_PAGE.
Marton Nemeth [Sun, 4 Oct 2009 16:53:22 +0000 (13:53 -0300)]
V4L/DVB (13118): gspca - pac7311: remove magic values for END_OF_SEQUENCE and LOAD_PAGE.

Change the magic values 0, 254 and 255 to END_OF_SEQUENCE, LOAD_PAGE4 and
LOAD_PAGE3 respectively for better source code readability.

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13117): gspca - pac7311: remove magic value for SKIP.
Marton Nemeth [Sun, 4 Oct 2009 16:51:26 +0000 (13:51 -0300)]
V4L/DVB (13117): gspca - pac7311: remove magic value for SKIP.

Change the magic value 0xaa to SKIP for better understandability.

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13116): gspca - ov519: Webcam 041e:4067 added.
Rafal Milecki [Fri, 2 Oct 2009 06:54:44 +0000 (03:54 -0300)]
V4L/DVB (13116): gspca - ov519: Webcam 041e:4067 added.

Signed-off-by: Rafal Milecki <zajec5@gmail.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13115): gspca - main: More information messages.
Jean-Francois Moine [Thu, 1 Oct 2009 16:44:49 +0000 (13:44 -0300)]
V4L/DVB (13115): gspca - main: More information messages.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13114): gspca - zc3xx.c: Bad init sequences of sensor cs2102.
Jean-Francois Moine [Fri, 18 Sep 2009 08:36:24 +0000 (05:36 -0300)]
V4L/DVB (13114): gspca - zc3xx.c: Bad init sequences of sensor cs2102.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13112): tda18271: display some state information in debug output
Michael Krufky [Mon, 28 Sep 2009 06:13:49 +0000 (03:13 -0300)]
V4L/DVB (13112): tda18271: display some state information in debug output

Display i2c adapter id, address and master / slave role in debug output.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13111): tda18271: more signedness fixes
Michael Krufky [Mon, 28 Sep 2009 02:10:20 +0000 (23:10 -0300)]
V4L/DVB (13111): tda18271: more signedness fixes

Convert tda18271_rf_tracking_filter_cal.rf_[ab][12] from int to s32.
Convert tda18271_priv.tm_rfcal from unsigned int to u8.
Cast subtractions between u32 values as s32.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13110): tda18271: use temporary variables in tda18271_rf_tracking_filters_init
Michael Krufky [Sun, 27 Sep 2009 20:00:13 +0000 (17:00 -0300)]
V4L/DVB (13110): tda18271: use temporary variables in tda18271_rf_tracking_filters_init

Use temporary variables for signed calulations between unsigned values

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13108): tda8290: enable deemphasis_50 module parameter
Henk Vergonet [Sun, 27 Sep 2009 21:19:58 +0000 (18:19 -0300)]
V4L/DVB (13108): tda8290: enable deemphasis_50 module parameter

This adds a forgotten module_param macro needed to set a deemphasis of 50us.
It is the standard setting for commercial FM radio broadcasts outside the US.

Signed-off-by: Henk Vergonet <Henk.Vergonet@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13105): dvb-usb: add fe_ioctl_override callback to dvb_usb_adapter_properties
Michael Krufky [Mon, 7 Sep 2009 16:32:29 +0000 (13:32 -0300)]
V4L/DVB (13105): dvb-usb: add fe_ioctl_override callback to dvb_usb_adapter_properties

Allow dvb-usb adapter drivers to specify a fe_ioctl_override callback
to enable device-specific handling of DVB frontend operations.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13104): cx23885: define a dvb frontend ioctl override function
Michael Krufky [Sat, 9 May 2009 01:39:24 +0000 (22:39 -0300)]
V4L/DVB (13104): cx23885: define a dvb frontend ioctl override function

override set_frontend to allow rf input path switching on the HVR1275

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13103): create a standard method for dvb adapter drivers to override fronten...
Michael Krufky [Sat, 23 May 2009 21:00:59 +0000 (18:00 -0300)]
V4L/DVB (13103): create a standard method for dvb adapter drivers to override frontend ioctls

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13100): cx23885: Add IR input keypress handling and enable for the HVR-1850
Andy Walls [Sun, 27 Sep 2009 23:55:41 +0000 (20:55 -0300)]
V4L/DVB (13100): cx23885: Add IR input keypress handling and enable for the HVR-1850

This changes adds IR Rx keypress input event handling to the CX23885 module.
This change specifically only adds input handling for IR devices implemented as
v4l2_subdevices, using only the pulse width mode (for now), and only with
RC-5 remotes.  The V4L-DVB infrastructure is missing too much to support RC-6
mode 6A as used in many media center remotes.   The grey Hauppauge RC-5 remote
and HVR-1850 IR receiver work now.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13099): ir-functions: Export ir_rc5_decode() for use by the cx23885 module
Andy Walls [Sun, 27 Sep 2009 23:05:23 +0000 (20:05 -0300)]
V4L/DVB (13099): ir-functions: Export ir_rc5_decode() for use by the cx23885 module

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13098): cx23885: Add integrated IR subdevice interrupt and notification...
Andy Walls [Sun, 27 Sep 2009 22:51:50 +0000 (19:51 -0300)]
V4L/DVB (13098): cx23885: Add integrated IR subdevice interrupt and notification handling

Add integrated IR subdevice interrupt and notification handling.  This is in
preparation of input keypress handling changes for the cx23885 module.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13097): cx23885: Complete CX23888 IR subdev implementation for Rx & almost...
Andy Walls [Sun, 27 Sep 2009 21:31:37 +0000 (18:31 -0300)]
V4L/DVB (13097): cx23885: Complete CX23888 IR subdev implementation for Rx & almost for Tx

This change completes the v4l2_subdev implementation for IR receive for the
IR controller built into the CX23888.

This changes almost completes the IR transmit side also, but doesn't.  Instead
notes in the comments describe what needs to be done for IR Tx to work in the
subdevice implementation.

The current Tx behavior is skeletal and benign.  If left alone, it does nothing.
It will only ever generate a Tx interrupt on Tx init by a caller or when the
tx_write() method is called.  The ISR, when called, will then disable the Tx
FIFO service interrupt.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13096): v4l2-subdev: Add v4l2_subdev_ir_ops and IR notify defines for v4l2_d...
Andy Walls [Sun, 27 Sep 2009 20:50:04 +0000 (17:50 -0300)]
V4L/DVB (13096): v4l2-subdev: Add v4l2_subdev_ir_ops and IR notify defines for v4l2_device

Add v4l2_subdev_ir_ops and IR notify defines for v4l2_device.  This change
is specifically needed at this time to support the integrated IR controller in
the CX2388[58] chips.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13092): cx25840: Improvements to the cx23885/7/8 chip detection mechanism.
Steven Toth [Sun, 27 Sep 2009 18:54:47 +0000 (15:54 -0300)]
V4L/DVB (13092): cx25840: Improvements to the cx23885/7/8 chip detection mechanism.

The prior mechanism wasn't reliable with the cx23887. This new mechanism
tests correctly against cx23885, 7 and 8 based products.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13091): cx23885: Enable HVR-1850 CX23888 A/V core to get VID_CLK running...
Andy Walls [Sun, 27 Sep 2009 03:14:33 +0000 (00:14 -0300)]
V4L/DVB (13091): cx23885: Enable HVR-1850 CX23888 A/V core to get VID_CLK running for IR

For the IR controller on the CX23888 to work for the HVR-1850 and in
general, the A/V core must be initialized to get the VID_CLK going.
The VID_CLK is the timing reference for the CX23888's integrated
IR controller.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13090): cx25840: Init PLLs properly for CX2388[578] A/V cores
Andy Walls [Sun, 27 Sep 2009 03:00:48 +0000 (00:00 -0300)]
V4L/DVB (13090): cx25840: Init PLLs properly for CX2388[578] A/V cores

The SYS and AUX PLLs need to be initialized to different values based on
the chip: CX23885, CX23887, CX23888, as each uses a different crystal
frequency: 28.6363 MHz, 25.0 MHz, 50.0 MHz.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13089): cx25840: Separate set_audclk_freq functionality for the different...
Andy Walls [Sun, 27 Sep 2009 02:54:20 +0000 (23:54 -0300)]
V4L/DVB (13089): cx25840: Separate set_audclk_freq functionality for the different chips

Separate out the set_audclk_freq() function into separate functions for the
four families of cores.  These cores all use slightly different sample clock
schemes and may be assuming slightly (+/- 3 Hz) different reference frequencies.
The code resuse was not worth the maintenance and testing headache of have all
chips use the same function peppered with conditional logic.

Added comments on how PLL and SRC parameters values are computed.  Fixed a few
bugs related to the shared code having a large number of conditional statements.
Noted inconsistencies with FIXME in the comments.

This is done in preparation for getting the CX2388[578] PLL/clock setting logic
cleaned up for CX23888 analog video and IR (which need the VID PLL set right).

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13088): cx25840: Convert chip/core family checks to static inline functions
Andy Walls [Sun, 27 Sep 2009 02:47:21 +0000 (23:47 -0300)]
V4L/DVB (13088): cx25840: Convert chip/core family checks to static inline functions

Change logic to check for various chip or core families to inline functions.
Checks for specific chips should be made against the state->id field now.  This
is in preparation for chip/core specific code for setting up PLLs for the
CX2388[578] family of cores, that all run with different crystal frequencies.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13087): cx25840: Improve detection of CX2388[578] A/V cores
Andy Walls [Sun, 27 Sep 2009 02:32:54 +0000 (23:32 -0300)]
V4L/DVB (13087): cx25840: Improve detection of CX2388[578] A/V cores

Add improved logic to detect the exact CX2388[578] A/V core that is being
probed.  Also cleaned up detection and logging for CX2310[12], CX2583[67],
and CX2584[0123] cores and chips.

Also added code to identify a CX2388[578] A/V decoder core that is not
responding properly.  Typical symptoms include registers 0x00-0xff
responding properly but all other registers returning the same value
(0x13 and 0x5 have been observed).  This state will cause proper detection of
'885 vs. '887 vs. '888 to fail and the chip won't respond to get configured
properly anyway.  I have no method of reseting the core to a working state at
this time; but I didn't try too hard to work one out either.  The problem
likely only occurs in development.  I suspect configuring the SYS PLL VCO to
oscillate too slowly (286.3 MHz?) before post divide may be the root cause,
when encountered.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13086): cx23885: Add skeleton v4l2_subdev for the CX23888 integrated IR...
Andy Walls [Sun, 27 Sep 2009 02:17:30 +0000 (23:17 -0300)]
V4L/DVB (13086): cx23885: Add skeleton v4l2_subdev for the CX23888 integrated IR controller

This change adds a skeletal implementation of a v4l2_subdevice to provide
encapsulation and abstraction of the CX23888's integrated consumer infrared
controller.  This change also instantiates the cx23888_ir subdev for the
HVR-1850 which has IR hardware physically wired up to a CX23888.

The cx23888_ir subdev code is being written with long-term objectives to:
1. port it to the cx25840 module for the CX2584x, CX2583x, CX23885, & CX231xx
   IR controllers
2. possibly port it to the cx18 module for the CX23418 IR controller
3. have the IR subdevice accessed abstractly in the cx23885 module, so the
   driver can ignore the difference between the CX23885 and CX23888.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13085): cx23885: Fix support for v4l2-dbg access to CX2388[578] and CX23417...
Andy Walls [Sun, 27 Sep 2009 01:50:44 +0000 (22:50 -0300)]
V4L/DVB (13085): cx23885: Fix support for v4l2-dbg access to CX2388[578] and CX23417 regs

This changes corrects the ioctl() operations for both the CX2388[578] analog
video and MPEG video device nodes to properly and consistently support
VIDIOC_G_CHIP_IDENT, VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER ioctl()s.

This caused some ioctl() support routines to be broken out into a separate
source file.

Now v4l2-dbg can be used to manipulate CX2388[578] and CX23417 registers
including the CX2388[57] functions handled by the cx25840 module.

This was done in anticipation of developing a new v4l2_subdev for the
integrated IR controller of the CX23888.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13084): v4l2-chip-ident: Add ID's needed for the cx23885 and cx25840 modules
Andy Walls [Sun, 27 Sep 2009 01:07:10 +0000 (22:07 -0300)]
V4L/DVB (13084): v4l2-chip-ident: Add ID's needed for the cx23885 and cx25840 modules

Add identifiers for CX2388[578] chips, CX2310[012] chips, integrated
A/V decoders cores, integrated IR controller core, and the CX23417
MPEG encoder.  The cx23885 module and cx25840 module will use these
identifiers in upcoming changes.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13082): em28xx: remove "not validated" status from Terratec Cinergy T XS...
Devin Heitmueller [Thu, 1 Oct 2009 02:10:17 +0000 (23:10 -0300)]
V4L/DVB (13082): em28xx: remove "not validated" status from Terratec Cinergy T XS (005e)

The board support has been validated by the user, so get rid of the warning
that shows up on board load.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13081): saa7134: use the #define for the xc5000 radio_input field
Devin Heitmueller [Thu, 1 Oct 2009 02:04:39 +0000 (23:04 -0300)]
V4L/DVB (13081): saa7134: use the #define for the xc5000 radio_input field

Dmitri's patch for the Behold X7 didn't use the #define I had setup for
XC5000_RADIO_FM1, so cut over to using that instead of "1".

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13080): saa7134: add support for the digital side of the Behold X7
Beholder Intl. Ltd. Dmitry Belimov [Thu, 1 Oct 2009 02:02:21 +0000 (23:02 -0300)]
V4L/DVB (13080): saa7134: add support for the digital side of the Behold X7

Add support for the digital side of the Behold X7

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13078): em28xx: fix support for Terratec Cinergy T XS (005e)
Uroš Vampl [Thu, 1 Oct 2009 01:53:37 +0000 (22:53 -0300)]
V4L/DVB (13078): em28xx: fix support for Terratec Cinergy T XS (005e)

Make analog audio, dvb and the remote work on a Terratec Cinergy Hybrid
XS (em2882).

Note by djh: Thanks go out fo Andrej Suligoi for his contribution in providing
and testing pretty much the exact same patch as provided by Uros.  Between
the two of them, they got all the core functionality working for the device.

Cc: Andrej Suligoi <suligoi@gmail.com>
Signed-off-by: Uroš Vampl <mobile.leecher@gmail.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13077): em28xx: Add support for new variant of KWorld 2800d
Devin Heitmueller [Thu, 1 Oct 2009 01:44:19 +0000 (22:44 -0300)]
V4L/DVB (13077): em28xx: Add support for new variant of KWorld 2800d

Seems that the reference design used for the KWorld 2800d switched from the
em2860 to em2862, so we need to add the new USB id (and the i2c hash remains
so all we need is the default em2862 id.

Thanks to Ian Young for reporting the issue and testing the fix.

Cc: Ian Young <ian@duffrecords.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13076): xc5000: make the definition of the FM input part of the xc5000 confi...
Devin Heitmueller [Thu, 24 Sep 2009 16:27:24 +0000 (13:27 -0300)]
V4L/DVB (13076): xc5000: make the definition of the FM input part of the xc5000 config struct

Remove hard-coded definition of the xc5000 FM radio input, making it a
parameter passed in when doing the attach call.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13075): xc5000: add FM radio support
Beholder Intl. Ltd. Dmitry Belimov [Thu, 24 Sep 2009 16:13:28 +0000 (13:13 -0300)]
V4L/DVB (13075): xc5000: add FM radio support

Add FM radio for the xc5000 silicon tuner chip.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13073): radio-mr800: set radio frequency only upon success
David Ellingsworth [Wed, 23 Sep 2009 21:31:26 +0000 (18:31 -0300)]
V4L/DVB (13073): radio-mr800: set radio frequency only upon success

Set radio frequency only upon success.

Signed-off-by: David Ellingsworth <david@identd.dyndns.org>
Acked-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13072): radio-mr800: simplify device warnings
David Ellingsworth [Wed, 23 Sep 2009 21:28:02 +0000 (18:28 -0300)]
V4L/DVB (13072): radio-mr800: simplify device warnings

Simplify device warnings.

Signed-off-by: David Ellingsworth <david@identd.dyndns.org>
Acked-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
14 years agoV4L/DVB (13071): radio-mr800: preserve radio state during suspend/resume
David Ellingsworth [Wed, 23 Sep 2009 21:24:47 +0000 (18:24 -0300)]
V4L/DVB (13071): radio-mr800: preserve radio state during suspend/resume

Preserve radio state during suspend/resume.

Signed-off-by: David Ellingsworth <david@identd.dyndns.org>
Acked-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>