GitHub/mt8127/android_kernel_alcatel_ttab.git
13 years ago[media] cx231xx: Use a generic check for TUNER_XC5000
Mauro Carvalho Chehab [Sun, 30 Jan 2011 12:03:24 +0000 (09:03 -0300)]
[media] cx231xx: Use a generic check for TUNER_XC5000

The check for xc5000 assumes that the tuner will always
be using the same bus and will have the same address.
As those are configurable via dev->board, it should use,
instead, the values defined there.

Also, a similar type of test will be needed by other
tuners (for example, for TUNER_XC2028)

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] cx231xx: Simplify interface checking logic at probe
Mauro Carvalho Chehab [Sun, 30 Jan 2011 01:10:56 +0000 (22:10 -0300)]
[media] cx231xx: Simplify interface checking logic at probe

Just a cleanup patch. Removes one indent level by moving
the return -ENODEV to happen before the device register
logic, if the interface is not the audio/video (int 1).

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] tuner-xc2028: More firmware loading retries
Alina Friedrichsen [Sun, 23 Jan 2011 15:27:05 +0000 (12:27 -0300)]
[media] tuner-xc2028: More firmware loading retries

My Hauppauge WinTV HVR-1400 needs sometimes more then only one retry to load the firmware successfully.

Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] double mutex lock in drivers/media/radio/si470x/radio-si470x-
iceberg [Fri, 21 Jan 2011 18:00:25 +0000 (15:00 -0300)]
[media] double mutex lock in drivers/media/radio/si470x/radio-si470x-

KERNEL_VERSION: 2.6.37
common.c in function ssize_t si470x_fops_read.

1. First mutex_lock on &radio->lock in line 441
2. Second in line 462

I think that mutex in line 462 is not needed.

 433static ssize_t si470x_fops_read(struct file *file, char __user *buf,
 434                size_t count, loff_t *ppos)
 435{
....
 441        mutex_lock(&radio->lock);
 442        if ((radio->registers[SYSCONFIG1] & SYSCONFIG1_RDS) == 0)
 443                si470x_rds_on(radio);
 444
 445        /* block if no new data available */
 446        while (radio->wr_index == radio->rd_index) {
 447                if (file->f_flags & O_NONBLOCK) {
 448                        retval = -EWOULDBLOCK;
 449                        goto done;
 450                }
 451                if (wait_event_interruptible(radio->read_queue,
 452                        radio->wr_index != radio->rd_index) < 0) {
 453                        retval = -EINTR;
 454                        goto done;
 455                }
 456        }
 457
 458        /* calculate block count from byte count */
 459        count /= 3;
 460
 461        /* copy RDS block out of internal buffer and to user buffer */
 462        mutex_lock(&radio->lock);

Found by Linux Device Drivers Verification Project

Remove second mutex.

Signed-off-by: Alexander Strakh <strakh@ispras.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] tm6000: add/rework reg.defines
Dmitri Belimov [Thu, 20 Jan 2011 06:05:08 +0000 (03:05 -0300)]
[media] tm6000: add/rework reg.defines

Rework registers defines. Add TM6000 specific registers defines.
Add marks and comments for TM6010 specific registers.

Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] cpia2: convert to video_ioctl2
Hans Verkuil [Sat, 22 Jan 2011 09:36:02 +0000 (06:36 -0300)]
[media] cpia2: convert to video_ioctl2

Unable to test this due to lack of hardware.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] pwc: convert to video_ioctl2
Hans Verkuil [Sat, 22 Jan 2011 09:34:55 +0000 (06:34 -0300)]
[media] pwc: convert to video_ioctl2

Tested with a Logitech QuickCam Pro 4000.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] pwc: convert to core-assisted locking
Hans Verkuil [Thu, 13 Jan 2011 08:05:36 +0000 (05:05 -0300)]
[media] pwc: convert to core-assisted locking

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] vivi: fix compiler warning
Hans Verkuil [Tue, 11 Jan 2011 20:32:28 +0000 (17:32 -0300)]
[media] vivi: fix compiler warning

drivers/media/video/vivi.c:1059: warning: this decimal constant is unsigned only in ISO C90

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] vivi: convert to the control framework and add test controls
Hans Verkuil [Sun, 23 Jan 2011 14:33:16 +0000 (12:33 -0200)]
[media] vivi: convert to the control framework and add test controls

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] tvp7002: use control framework
Hans Verkuil [Sun, 12 Dec 2010 11:46:15 +0000 (08:46 -0300)]
[media] tvp7002: use control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] vpx3220: use control framework
Hans Verkuil [Sun, 12 Dec 2010 11:45:59 +0000 (08:45 -0300)]
[media] vpx3220: use control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] tvp5150: use the control framework
Hans Verkuil [Sun, 12 Dec 2010 11:45:43 +0000 (08:45 -0300)]
[media] tvp5150: use the control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] tvp514x: use the control framework
Hans Verkuil [Sun, 12 Dec 2010 11:45:22 +0000 (08:45 -0300)]
[media] tvp514x: use the control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] tlv320aic23b: use control framework
Hans Verkuil [Sun, 12 Dec 2010 11:45:04 +0000 (08:45 -0300)]
[media] tlv320aic23b: use control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] saa7110: use control framework
Hans Verkuil [Sun, 12 Dec 2010 11:27:48 +0000 (08:27 -0300)]
[media] saa7110: use control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] bt819: use control framework
Hans Verkuil [Sun, 12 Dec 2010 11:19:41 +0000 (08:19 -0300)]
[media] bt819: use control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] adv7343: use control framework
Hans Verkuil [Sun, 12 Dec 2010 11:19:16 +0000 (08:19 -0300)]
[media] adv7343: use control framework

Also fixed a memory leak in the probe function if an error occurred.
The gain control range was also fixed (a proper range from -64 to 64).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] cx18: Use the control framework
Hans Verkuil [Fri, 31 Dec 2010 13:22:52 +0000 (10:22 -0300)]
[media] cx18: Use the control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] cs5345: use the control framework
Hans Verkuil [Sun, 12 Dec 2010 10:53:28 +0000 (07:53 -0300)]
[media] cs5345: use the control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] technisat-usb2: CodingStyle cleanups
Mauro Carvalho Chehab [Wed, 10 Nov 2010 00:31:40 +0000 (22:31 -0200)]
[media] technisat-usb2: CodingStyle cleanups

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] add support for Encore FM3
Mauro Carvalho Chehab [Wed, 19 Jan 2011 18:25:17 +0000 (16:25 -0200)]
[media] add support for Encore FM3

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] saa7134: Properly report when a board doesn't have eeprom
Mauro Carvalho Chehab [Wed, 19 Jan 2011 18:11:58 +0000 (16:11 -0200)]
[media] saa7134: Properly report when a board doesn't have eeprom

When a device is not detected, the driver prints a warning message.
That's ok, except for the fact that, even on newer devices that have
eeprom but aren't yet supported, it prints a message saying that the
device doesn't have eeprom.

Fix it by having a separate message for devices with eeprom, but not
yet known by the driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] tuner-simple: add support for Tena TNF5337 MFD
Mauro Carvalho Chehab [Wed, 19 Jan 2011 18:05:30 +0000 (16:05 -0200)]
[media] tuner-simple: add support for Tena TNF5337 MFD

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DocBook/v4l: fix validation errors
Hans Verkuil [Sun, 16 Jan 2011 20:21:02 +0000 (17:21 -0300)]
[media] DocBook/v4l: fix validation errors

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: vivi: port to videobuf2
Pawel Osciak [Wed, 19 Jan 2011 15:02:29 +0000 (13:02 -0200)]
[media] v4l: vivi: port to videobuf2

Make vivi use videobuf2 in place of videobuf.

Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Fix compilation when cxd2099 is not enabled
Mauro Carvalho Chehab [Tue, 18 Jan 2011 00:18:02 +0000 (22:18 -0200)]
[media] ngene: Fix compilation when cxd2099 is not enabled

drivers/media/dvb/ngene/ngene-i2c.o: In function `cxd2099_attach':
ngene-i2c.c:(.text+0x195): multiple definition of `cxd2099_attach'
drivers/media/dvb/ngene/ngene-core.o:ngene-core.c:(.text+0x100): first defined here
drivers/media/dvb/ngene/ngene-cards.o: In function `cxd2099_attach':
ngene-cards.c:(.text+0x116): multiple definition of `cxd2099_attach'
drivers/media/dvb/ngene/ngene-core.o:ngene-core.c:(.text+0x100): first defined here
drivers/media/dvb/ngene/ngene-dvb.o: In function `cxd2099_attach':
ngene-dvb.c:(.text+0x7ad): multiple definition of `cxd2099_attach'
drivers/media/dvb/ngene/ngene-core.o:ngene-core.c:(.text+0x100): first defined here

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] Move CI cxd2099 driver to staging
Mauro Carvalho Chehab [Mon, 17 Jan 2011 16:20:49 +0000 (14:20 -0200)]
[media] Move CI cxd2099 driver to staging

This driver is abusing the kernel<=>userspace API, due to the lack of a
proper solution for it. A discussion were done at:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg22196.html
But there's not a solution for it yet. So, move the driver to staging, while
we don't have a final solution.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] stv090x: 22kHz workaround must also be performed for the 2nd frontend
Oliver Endriss [Mon, 10 Jan 2011 09:36:24 +0000 (06:36 -0300)]
[media] stv090x: 22kHz workaround must also be performed for the 2nd frontend

22kHz workaround must also be performed for the 2nd frontend.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Improved channel initialisation and release
Oliver Endriss [Mon, 10 Jan 2011 09:36:23 +0000 (06:36 -0300)]
[media] ngene: Improved channel initialisation and release

Refactored code for channel initialisation and release:
- Do not create device nodes which are not required.
- Better error handling.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] stv090x: Fix losing lock in dual DVB-S2 mode
Oliver Endriss [Mon, 10 Jan 2011 09:36:22 +0000 (06:36 -0300)]
[media] stv090x: Fix losing lock in dual DVB-S2 mode

Do not clear registers ACLC/BCLC in DVB-S2 mode for Cut <= 20.
Otherwise, the demod could lose the lock periodically.
Verified with cineS2 and Duoflex.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] stv090x: Fixed typos in register macros
Oliver Endriss [Mon, 10 Jan 2011 09:36:21 +0000 (06:36 -0300)]
[media] stv090x: Fixed typos in register macros

Fixed typos in register macros.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Fix copy-paste error
Oliver Endriss [Mon, 10 Jan 2011 09:36:20 +0000 (06:36 -0300)]
[media] ngene: Fix copy-paste error

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] get_dvb_firmware: ngene_18.fw added
Oliver Endriss [Mon, 10 Jan 2011 09:36:19 +0000 (06:36 -0300)]
[media] get_dvb_firmware: ngene_18.fw added

Add download link for ngene firmware rev 18.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Enable CI for Mystique SaTiX-S2 Dual (v2)
Oliver Endriss [Mon, 10 Jan 2011 09:36:18 +0000 (06:36 -0300)]
[media] ngene: Enable CI for Mystique SaTiX-S2 Dual (v2)

Enable CI for Mystique SaTiX-S2 Dual (v2).

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Add net device
Ralph Metzler [Mon, 10 Jan 2011 09:36:17 +0000 (06:36 -0300)]
[media] ngene: Add net device

Add dvb net device.
Note that the physical address must be setup manually.

Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Shutdown workaround
Ralph Metzler [Mon, 10 Jan 2011 09:36:16 +0000 (06:36 -0300)]
[media] ngene: Shutdown workaround

Implement shutdown workaround for some chipsets.

Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: CXD2099AR Common Interface driver
Ralph Metzler [Mon, 10 Jan 2011 09:36:15 +0000 (06:36 -0300)]
[media] ngene: CXD2099AR Common Interface driver

Driver for the Common Interface Controller CXD2099AR.
Supports the CI of the cineS2 DVB-S2.

For now, data is passed through '/dev/dvb/adapterX/sec0':
- Encrypted data must be written to 'sec0'.
- Decrypted data can be read from 'sec0'.
- Setup the CAM using device 'ca0'.

Signed-off-by: Ralph Metzler <rjkm@metzlerbros.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Clean-up driver initialisation (part 1)
Oliver Endriss [Mon, 10 Jan 2011 09:36:14 +0000 (06:36 -0300)]
[media] ngene: Clean-up driver initialisation (part 1)

If tuner initialisation failed, the frontend node was not removed.
When the frontend was opened, a kernel oops occurred...

This is the first step to improve error handling during initialisation.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Support up to 4 tuners
Oliver Endriss [Mon, 10 Jan 2011 09:36:13 +0000 (06:36 -0300)]
[media] ngene: Support up to 4 tuners

Support up to 4 tuners for cineS2 v5, duoflex & mystique v2.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Fixes for TS input over I2S
Oliver Endriss [Mon, 10 Jan 2011 09:36:12 +0000 (06:36 -0300)]
[media] ngene: Fixes for TS input over I2S

Fix TS input over I2S.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] ngene: Firmware 18 support
Oliver Endriss [Mon, 10 Jan 2011 09:36:11 +0000 (06:36 -0300)]
[media] ngene: Firmware 18 support

Small modifications for firmware 18.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] stv090x: Optional external lock routine
Oliver Endriss [Mon, 10 Jan 2011 09:36:10 +0000 (06:36 -0300)]
[media] stv090x: Optional external lock routine

Card driver may supply its own lock routine now.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] stv090x: make sleep/wakeup specific to the demod path
Andreas Regel [Mon, 10 Jan 2011 09:36:09 +0000 (06:36 -0300)]
[media] stv090x: make sleep/wakeup specific to the demod path

The STV0900 features two demodulator paths in one chip. Thus it is not
possible to use the generic power off function of the chip when sending
one of them to standby. The other path will stop working in that case.

The sleep function now switches off functionality specific to the demod
path. The global stuff is only switched off, when both paths are in
sleep mode. The wakeup function always turns on the global functionality
and then works specific to the path.

Signed-off-by: Andreas Regel <andreas.regel@gmx.de>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] dib8000: Fix some wrong alignments
Mauro Carvalho Chehab [Sun, 16 Jan 2011 15:02:52 +0000 (13:02 -0200)]
[media] dib8000: Fix some wrong alignments

Something went wrong with the alignments for the if clause at line 2113.
Instead of using one tab for alignments, it used 3 tabs, plus one space
character.

WARNING: suspect code indent for conditional statements (8, 33)
+ if ((state->fe[0]->dtv_property_cache.delivery_system != SYS_ISDBT) ||
[...]
+  int i = 80000;

WARNING: suspect code indent for conditional statements (33, 41)
+  for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) {
+  dib8000_set_bandwidth(state->fe[index_frontend], fe->dtv_property_cache.bandwidth_hz / 1000);

WARNING: suspect code indent for conditional statements (33, 41)
+  do {
+  msleep(20);

WARNING: suspect code indent for conditional statements (41, 49)
+  for (index_frontend = 0; (index_frontend < MAX_NUMBER_OF_FRONTENDS) && (state->fe[index_frontend] != NULL); index_frontend++) {
+  if (((tune_failed >> index_frontend) & 0x1) == 0) {

WARNING: suspect code indent for conditional statements (49, 57)
+  if (((tune_failed >> index_frontend) & 0x1) == 0) {
+  found = dib8000_autosearch_irq(state->fe[index_frontend]);

WARNING: suspect code indent for conditional statements (41, 49)
+  if ((nbr_pending == 0) && (exit_condition == 0))
+  exit_condition = 1;

Cc: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] dib7000p: Fix 4-byte wrong alignments for some case statements
Mauro Carvalho Chehab [Sun, 16 Jan 2011 15:01:20 +0000 (13:01 -0200)]
[media] dib7000p: Fix 4-byte wrong alignments for some case statements

ERROR: switch and case should be at the same indent
  switch (ch->u.ofdm.transmission_mode) {
[...]
+    case TRANSMISSION_MODE_4K:

WARNING: please, no spaces at the start of a line
+    case TRANSMISSION_MODE_4K:$

ERROR: switch and case should be at the same indent
  switch (ch->u.ofdm.transmission_mode) {
[...]
+    case TRANSMISSION_MODE_4K:

WARNING: please, no spaces at the start of a line
+    case TRANSMISSION_MODE_4K:$

ERROR: switch and case should be at the same indent
  switch (ch->u.ofdm.transmission_mode) {
[...]
+    case TRANSMISSION_MODE_4K:

WARNING: please, no spaces at the start of a line
+    case TRANSMISSION_MODE_4K:$

Cc: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DiBxxxx: Codingstype updates
Olivier Grenie [Tue, 4 Jan 2011 16:08:14 +0000 (13:08 -0300)]
[media] DiBxxxx: Codingstype updates

This patchs fix several conding-style violations.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DiB0700: add support for several board-layouts
Olivier Grenie [Tue, 4 Jan 2011 08:42:19 +0000 (05:42 -0300)]
[media] DiB0700: add support for several board-layouts

This patchs adds support for DiBcom's NIM8096MD, NIM9090M, NIM9090MD,
NIM7090, TFE7090PVR (no diversity) reference designs.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DiB7090: add support for the dib7090 based
Olivier Grenie [Tue, 4 Jan 2011 07:54:31 +0000 (04:54 -0300)]
[media] DiB7090: add support for the dib7090 based

This patch adds support for the SoC DiB7090 DVB-T demodulator and its
melt-in UHF/VHF RF tuner.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DIB9000: initial support added
Olivier Grenie [Tue, 4 Jan 2011 07:28:59 +0000 (04:28 -0300)]
[media] DIB9000: initial support added

This patchs add initial support for the DiB9000-device. This
demodulator is firmware-driven.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DiB0090: misc improvements
Olivier Grenie [Tue, 4 Jan 2011 07:27:11 +0000 (04:27 -0300)]
[media] DiB0090: misc improvements

This patch adds several performance improvements and prepares the
usage of firmware-based devices.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DiBx000: add addition i2c-interface names
Olivier Grenie [Mon, 3 Jan 2011 18:39:35 +0000 (15:39 -0300)]
[media] DiBx000: add addition i2c-interface names

This patch adds the possibitity to use different I2C-ports to talk to
slave-devices than the standard ones.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DiB8000: add diversity support
Olivier Grenie [Mon, 3 Jan 2011 18:33:37 +0000 (15:33 -0300)]
[media] DiB8000: add diversity support

This patch adds a set a functions which allow the handling of multiple
demodulator in a diversity reception chain.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] DiB0700: add function to change I2C-speed
Olivier Grenie [Mon, 3 Jan 2011 18:30:14 +0000 (15:30 -0300)]
[media] DiB0700: add function to change I2C-speed

This commit adds a function to the DiB0700 USB driver which allows
drivers to change the I2C clock speed.

Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] Add v4l2 subdev driver for NOON010PC30L image sensor
Sylwester Nawrocki [Mon, 3 Jan 2011 11:07:30 +0000 (08:07 -0300)]
[media] Add v4l2 subdev driver for NOON010PC30L image sensor

Add I2C/V4L2 subdev driver for Siliconfile NOON010PC30 CIF camera.
The driver implements basic functionality, i.e. CIF/QCIF/QQCIF
resolution and color format selection, automatic/manual color
balance control. Other functions like cropping, rotation/flip,
exposure etc. can be easily implemented if needed.

Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] Add chip identity for NOON010PC30 camera sensor
Sylwester Nawrocki [Tue, 30 Nov 2010 15:54:56 +0000 (12:54 -0300)]
[media] Add chip identity for NOON010PC30 camera sensor

Add ID for NOON010PC30 camera chip and reserve ID range for
Siliconfile sensors.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: fimc_stop_capture bug fix
Sungchun Kang [Thu, 30 Dec 2010 05:35:28 +0000 (02:35 -0300)]
[media] s5p-fimc: fimc_stop_capture bug fix

When is called fimc_stop_capture, it seems that wait_event_timeout
used improperly. It should be wake up by irq handler.

Reviewed-by Jonghun Han <jonghun.han@samsung.com>

Signed-off-by: Sungchun Kang <sungchun.kang@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: fix MSCTRL.FIFO_CTRL for performance enhancement
Hyunwoong Kim [Wed, 29 Dec 2010 10:08:32 +0000 (07:08 -0300)]
[media] s5p-fimc: fix MSCTRL.FIFO_CTRL for performance enhancement

This patch fixes the value of FIFO_CTRL in MSCTRL.
Main-scaler has the value to specify a basis FIFO control of input DMA.

The description of FIFO_CTRL has been changed as below.
0 = FIFO Empty (Next burst transaction is possible when FIFO is empty)
1 = FIFO Full (Next burst transaction is possible except Full FIFO)

Value '1' is recommended to enhance the FIMC operation performance.

Reviewed-by: Jonghun Han <jonghun.han@samsung.com>
Signed-off-by: Hyunwoong Kim <khw0178.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Support stop_streaming and job_abort
Hyunwoong Kim [Wed, 29 Dec 2010 07:47:49 +0000 (04:47 -0300)]
[media] s5p-fimc: Support stop_streaming and job_abort

This patch adds callback functions, stop_streaming and job_abort,
to abort or finish any DMA in progress. stop_streaming is called
by videobuf2 framework and job_abort is called by m2m framework.
ST_M2M_PEND state is added to discard the next job.

Reviewed-by: Jonghun Han <jonghun.han@samsung.com>
Signed-off-by: Hyunwoong Kim <khw0178.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: update checking scaling ratio range
Hyunwoong Kim [Wed, 29 Dec 2010 01:12:43 +0000 (22:12 -0300)]
[media] s5p-fimc: update checking scaling ratio range

Horizontal and vertical scaling range are according to the following equations.
If (SRC_Width >= 64 x DST_Width) { Exit(-1);  /* Out of Horizontal scale range}
If (SRC_Height >= 64 x DST_Height) { Exit(-1);  /* Out of Vertical scale range}

fimc_check_scaler_ratio() is used to check if horizontal and vertical
scale range are valid or not. To use fimc_check_scaler_ratio,
source and destination format should be set by VIDIOC_S_FMT.
And in case of scaling up, it doesn't have to check the scale range.

Reviewed-by: Jonghun Han <jonghun.han@samsung.com>
Signed-off-by: Hyunwoong Kim <khw0178.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Move scaler details handling to the register API file
Sylwester Nawrocki [Tue, 28 Dec 2010 14:37:55 +0000 (11:37 -0300)]
[media] s5p-fimc: Move scaler details handling to the register API file

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Configure scaler registers depending on FIMC version
Hyunwoong Kim [Tue, 28 Dec 2010 14:27:13 +0000 (11:27 -0300)]
[media] s5p-fimc: Configure scaler registers depending on FIMC version

The main scaler has four SFRs for main scaler ratio depending on FIMC version.
FIMC 4.x has only two SFRs and FIMC 5.x has four SFRs for main scaler.
Those are MainHorRatio, MainHorRatio_ext, MainVerRatio and MainverRatio_ext.

The FIMC 5.x has 15 bit resolution for scaling ratio as below.
{MainHorRatio,MainHorRatio_ext} = {[14:6],[5:0]}.
{MainVerRatio,MainVerRatio_ext} = {[14:6],[5:0]}.
MainHorRatio = CISCCTRL[24:16], MainHorRatio_ext = CIEXTEN[15:10]
MainVerRatio = CISCCTRL[8:0],   MainVerRatio_ext = CIEXTEN[5:0]

This patch supports FIMC 4.x and FIMC 5.x using platform_device_id::driver_data.

Reviewed-by: Jonghun Han <jonghun.han@samsung.com>
Signed-off-by: Hyunwoong Kim <khw0178.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: fix the value of YUV422 1-plane formats
Hyunwoong Kim [Wed, 22 Dec 2010 03:56:05 +0000 (00:56 -0300)]
[media] s5p-fimc: fix the value of YUV422 1-plane formats

Some color formats are mismatched in s5p-fimc driver.
CIOCTRL[1:0], order422_out, should be set 2b'00 not 2b'11
to use V4L2_PIX_FMT_YUYV. Because in V4L2 standard V4L2_PIX_FMT_YUYV means
"start + 0: Y'00 Cb00 Y'01 Cr00 Y'02 Cb01 Y'03 Cr01". According to datasheet
2b'00 is right value for V4L2_PIX_FMT_YUYV.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Add control of the external sensor clock
Sylwester Nawrocki [Mon, 27 Dec 2010 18:34:43 +0000 (15:34 -0300)]
[media] s5p-fimc: Add control of the external sensor clock

Manage the camera sensor clock in the host driver rather than
leaving this task for sensor drivers. The clock frequency
must be passed in the sensor's and host driver's platform data.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Enable simultaneous rotation and flipping
Sylwester Nawrocki [Mon, 27 Dec 2010 17:47:32 +0000 (14:47 -0300)]
[media] s5p-fimc: Enable simultaneous rotation and flipping

Map all (0, 90, 180, 270) deg counterclockwise rotation and
horizontal and vertical flip controls to (0, 90) deg rotation,
horizontal and vertical flip transformations available
in the device.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Use default input DMA burst count
Sylwester Nawrocki [Wed, 8 Dec 2010 15:48:23 +0000 (12:48 -0300)]
[media] s5p-fimc: Use default input DMA burst count

Increase the input DMA "successive burst count" to default
value 4 to improve DMA performance. Minor cleanup.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Enable interworking without subdev s_stream
Sylwester Nawrocki [Mon, 27 Dec 2010 18:05:58 +0000 (15:05 -0300)]
[media] s5p-fimc: Enable interworking without subdev s_stream

Prevent VIDIOC_STREAMON failing when s_stream callback is
not implemented by a sensor subdev driver.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Derive camera bus width from mediabus pixelcode
Sylwester Nawrocki [Mon, 27 Dec 2010 18:02:16 +0000 (15:02 -0300)]
[media] s5p-fimc: Derive camera bus width from mediabus pixelcode

Remove bus_width from s5p_fimc_isp_info data structure.
Determine camera data bus width based on mediabus pixel format.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Rename s3c_fimc* to s5p_fimc*
Sylwester Nawrocki [Mon, 27 Dec 2010 17:42:15 +0000 (14:42 -0300)]
[media] s5p-fimc: Rename s3c_fimc* to s5p_fimc*

Change s3c_fimc.h header file name to s5p_fimc.h, replace s3c_fimc_*
names with s5p_fimc_*. s3c_fimc need to be reserved for S3C series
and s5p-fimc driver will not cover CAMIF devices in S3C SoC series.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Use v4l core mutex in ioctl and file operations
Sylwester Nawrocki [Wed, 1 Dec 2010 13:25:18 +0000 (10:25 -0300)]
[media] s5p-fimc: Use v4l core mutex in ioctl and file operations

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Conversion to multiplanar formats
Sylwester Nawrocki [Wed, 8 Dec 2010 17:05:08 +0000 (14:05 -0300)]
[media] s5p-fimc: Conversion to multiplanar formats

Conversion to multiplanar color formats and minor cleanup.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] s5p-fimc: Porting to videobuf 2
Sylwester Nawrocki [Wed, 1 Dec 2010 13:14:59 +0000 (10:14 -0300)]
[media] s5p-fimc: Porting to videobuf 2

Porting to videobuf 2 and minor cleanup.
Separate videobuf_queue_ops are are created for m2m
and capture video nodes.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: Add DocBook documentation for YU12M, NV12M image formats
Sylwester Nawrocki [Sun, 9 Jan 2011 12:01:10 +0000 (09:01 -0300)]
[media] v4l: Add DocBook documentation for YU12M, NV12M image formats

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: Add multiplanar format fourccs for s5p-fimc driver
Sylwester Nawrocki [Tue, 28 Dec 2010 15:32:39 +0000 (12:32 -0300)]
[media] v4l: Add multiplanar format fourccs for s5p-fimc driver

Add definitions for format with color planes non-contiguous
in physical memory. These formats apply only if the V4L2 multiplane
extension is used.

V4L2_PIX_FMT_NV12M   - 2-plane Y/CbCr
V4L2_PIX_FMT_NV12MT  - 2-plane Y/CbCr tiled (64x32 pixel macroblocks)
V4L2_PIX_FMT_YUV420M - 3-plane Y/Cb/Cr

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: mem2mem: port m2m_testdev to vb2
Marek Szyprowski [Wed, 12 Jan 2011 09:50:55 +0000 (06:50 -0300)]
[media] v4l: mem2mem: port m2m_testdev to vb2

This patch ports mem2mem test device to videobuf2 framework.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: mem2mem: port to videobuf2
Marek Szyprowski [Wed, 12 Jan 2011 09:50:24 +0000 (06:50 -0300)]
[media] v4l: mem2mem: port to videobuf2

Port memory-to-memory framework to videobuf2 framework.

Add support for multi-planar Video for Linux 2 API extensions to the
memory-to-memory driver framework.

Based on the original patch written by Pawel Osciak.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] Add multi-planar API documentation
Pawel Osciak [Fri, 7 Jan 2011 04:41:33 +0000 (01:41 -0300)]
[media] Add multi-planar API documentation

Add DocBook documentation for the new multi-planar API extensions to the
Video for Linux 2 API DocBook.

Signed-off-by: Pawel Osciak <pawel@osciak.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] Fix mmap() example in the V4L2 API DocBook
Pawel Osciak [Wed, 12 Jan 2011 08:57:26 +0000 (05:57 -0300)]
[media] Fix mmap() example in the V4L2 API DocBook

Correct ioctl return value handling and fix coding style issues.

[mchehab@redhat.com: return -1 is OK, according with ioctl manpages. Reverting ioctl changes]
Signed-off-by: Pawel Osciak <pawel@osciak.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] vb2 core: Fix a few printk warnings
Mauro Carvalho Chehab [Tue, 11 Jan 2011 20:12:34 +0000 (17:12 -0300)]
[media] vb2 core: Fix a few printk warnings

drivers/media/video/videobuf2-core.c: In function ‘__vb2_perform_fileio’:
drivers/media/video/videobuf2-core.c:1638: warning: format ‘%ld’ expects type ‘long int’, but argument 4 has type ‘size_t’
drivers/media/video/videobuf2-core.c:1697: warning: format ‘%ld’ expects type ‘long int’, but argument 2 has type ‘size_t’
drivers/media/video/videobuf2-core.c:1703: warning: format ‘%ld’ expects type ‘long int’, but argument 2 has type ‘size_t’

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: videobuf2: add read() and write() emulator
Marek Szyprowski [Mon, 6 Dec 2010 08:56:55 +0000 (05:56 -0300)]
[media] v4l: videobuf2: add read() and write() emulator

Add a generic file io (read and write) emulator for videobuf2. It uses
MMAP memory type buffers and generic vb2 calls: req_bufs, qbuf and
dqbuf. Video date is being copied from mmap buffers to userspace with
standard copy_to_user() function. To add support for file io the driver
needs to provide an additional callback - read_setup or write_setup. It
should provide the default number of buffers used by emulator and flags.

With these flags one can detemine the style of read() or write()
emulation. By default 'streaming' style is used. With
VB2_FILEIO_READ_ONCE flag one can select 'one shot' mode for read()
emulator. With VB2_FILEIO_WRITE_IMMEDIATE flag one can select immediate
conversion of write calls to qbuf for write() emulator, so the vb2 will
not wait until each buffer is filled completely before queueing it to
the driver.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: videobuf2: add DMA scatter/gather allocator
Andrzej Pietrasiewicz [Mon, 29 Nov 2010 14:53:34 +0000 (11:53 -0300)]
[media] v4l: videobuf2: add DMA scatter/gather allocator

Add an implementation of DMA scatter/gather allocator and handling
routines for videobuf2.

For mmap operation mode it is implemented on top of
alloc_page + sg_set_page/_free_page.

For userptr operation mode it is implemented on top of
get_user_pages + sg_set_page/put_page.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: videobuf2: add DMA coherent allocator
Pawel Osciak [Mon, 11 Oct 2010 13:59:36 +0000 (10:59 -0300)]
[media] v4l: videobuf2: add DMA coherent allocator

Add an implementation of DMA coherent memory allocator and handling
routines for videobuf2, implemented on top of dma_alloc_coherent() call.

Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: videobuf2: add vmalloc allocator
Pawel Osciak [Mon, 11 Oct 2010 13:58:53 +0000 (10:58 -0300)]
[media] v4l: videobuf2: add vmalloc allocator

Add an implementation of contiguous virtual memory allocator and handling
routines for videobuf2, implemented on top of vmalloc()/vfree() calls.

Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: videobuf2: add generic memory handling routines
Marek Szyprowski [Thu, 9 Dec 2010 13:20:47 +0000 (10:20 -0300)]
[media] v4l: videobuf2: add generic memory handling routines

Add generic memory handling routines for userspace pointer handling,
contiguous memory verification and mapping.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: add videobuf2 Video for Linux 2 driver framework
Pawel Osciak [Mon, 11 Oct 2010 13:56:41 +0000 (10:56 -0300)]
[media] v4l: add videobuf2 Video for Linux 2 driver framework

Videobuf2 is a Video for Linux 2 API-compatible driver framework for
multimedia devices. It acts as an intermediate layer between userspace
applications and device drivers. It also provides low-level, modular
memory management functions for drivers.

Videobuf2 eases driver development, reduces drivers' code size and aids in
proper and consistent implementation of V4L2 API in drivers.

Videobuf2 memory management backend is fully modular. This allows custom
memory management routines for devices and platforms with non-standard
memory management requirements to be plugged in, without changing the
high-level buffer management functions and API.

The framework provides:
- implementations of streaming I/O V4L2 ioctls and file operations
- high-level video buffer, video queue and state management functions
- video buffer memory allocation and management

Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
CC: Pawel Osciak <pawel@osciak.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: Add compat functions for the multi-planar API
Pawel Osciak [Thu, 29 Jul 2010 17:56:47 +0000 (14:56 -0300)]
[media] v4l: Add compat functions for the multi-planar API

Add multi-planar ioctl handling to the 32bit compatibility layer.

[mchehab@redhat.com: Merged with a fixup patch from Pawel]
Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: Add multi-planar ioctl handling code
Pawel Osciak [Thu, 23 Dec 2010 07:15:27 +0000 (04:15 -0300)]
[media] v4l: Add multi-planar ioctl handling code

Add multi-planar API core ioctl handling and conversion functions.

[mchehab@redhat.com: CondingStyle fixup]
Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] v4l: Add multi-planar API definitions to the V4L2 API
Pawel Osciak [Thu, 29 Jul 2010 17:44:25 +0000 (14:44 -0300)]
[media] v4l: Add multi-planar API definitions to the V4L2 API

Multi-planar API is as a backwards-compatible extension of the V4L2 API,
which allows video buffers to consist of one or more planes. Planes are
separate memory buffers; each has its own mapping, backed by usually
separate physical memory buffers.

Many different uses for the multi-planar API are possible, examples
include:
- embedded devices requiring video components to be placed in physically
separate buffers, e.g. for Samsung S3C/S5P SoC series' video codec,
Y and interleaved Cb/Cr components reside in buffers in different
memory banks;
- applications may receive (or choose to store) video data of one video
buffer in separate memory buffers; such data would have to be temporarily
copied together into one buffer before passing it to a V4L2 device;
- applications or drivers may want to pass metadata related to a buffer and
it may not be possible to place it in the same buffer, together with video
data.

[mchehab@redhat.com: CodingStyle fixes]
Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] technisat-usb2: Don't use a deprecated call
Mauro Carvalho Chehab [Mon, 10 Jan 2011 23:42:12 +0000 (21:42 -0200)]
[media] technisat-usb2: Don't use a deprecated call

drivers/media/dvb/dvb-usb/technisat-usb2.c: In function ‘technisat_usb2_disconnect’:
drivers/media/dvb/dvb-usb/technisat-usb2.c:770: warning: ‘cancel_rearming_delayed_work’ is deprecated (declared at include/linux/workqueue.h:421)

Cc: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] technisat-usb2: added driver for Technisat's USB2.0 DVB-S/S2 receiver
Patrick Boettcher [Sun, 31 Oct 2010 19:24:19 +0000 (16:24 -0300)]
[media] technisat-usb2: added driver for Technisat's USB2.0 DVB-S/S2 receiver

This patch is adding support for Technisat's new USB2.0 DVB-S/S2 receiver
device. The development was sponsored by Technisat.

The Green led is toggle depending on the frontend-state. The Red LED is turned
on all the time.

The MAC address reading from the EEPROM along with the
LRC-method to check whether its valid.

Support for the IR-receiver of the Technisat USB2 box. The keys of
small, black remote-control are built-in, repeated key behaviour are
simulated.

The i2c-mutex of the dvb-usb-structure is used as a general mutex for
USB requests, as there are 3 threads racing for atomic requests
consisting of multiple usb-requests.

A module option is there which disables the toggling of LEDs by the
driver on certain triggers. Useful when being used in a "dark"
environment.

[mchehab@redhat.com: Fix merge conflicts with RC renaming patches]
Signed-off-by: Martin Wilks <m.wilks@technisat.com>
Signed-off-by: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] stv090x: add tei-field to config-structure
Patrick Boettcher [Sat, 9 Oct 2010 13:12:34 +0000 (10:12 -0300)]
[media] stv090x: add tei-field to config-structure

Some backends want to receive the full transport stream including
uncorrected packets. To have that feature this patchs add a field to
the config-structure called TEI (transport stream error indicator).

Cc: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Martin Wilks <m.wilks@technisat.com>
Signed-off-by: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years ago[media] stv090x: added function to control GPIOs from the outside
Patrick Boettcher [Sun, 10 Oct 2010 16:45:54 +0000 (13:45 -0300)]
[media] stv090x: added function to control GPIOs from the outside

This patch STV090X adds and exports a function to control the GPIOs of
the stv090x-devices.

Cc: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Martin Wilks <m.wilks@technisat.com>
Signed-off-by: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
13 years agoLinux 2.6.38
Linus Torvalds [Tue, 15 Mar 2011 01:20:32 +0000 (18:20 -0700)]
Linux 2.6.38

13 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux...
Linus Torvalds [Mon, 14 Mar 2011 22:20:39 +0000 (15:20 -0700)]
Merge branch 'fixes' of git://git./linux/kernel/git/dhowells/linux-2.6-mn10300

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300:
  MN10300: atomic_read() should ensure it emits a load
  MN10300: The SMP_ICACHE_INV_FLUSH_RANGE IPI command does not exist
  MN10300: Proper use of macros get_user() in the case of incremented pointers

13 years agoMerge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Mon, 14 Mar 2011 22:20:12 +0000 (15:20 -0700)]
Merge branch 'upstream' of git://git.linux-mips.org/upstream-linus

* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus: (26 commits)
  MIPS: Alchemy: Fix reset for MTX-1 and XXS1500
  MIPS: MTX-1: Make au1000_eth probe all PHY addresses
  MIPS: Jz4740: Add HAVE_CLK
  MIPS: Move idle task creation to work queue
  MIPS, Perf-events: Use unsigned delta for right shift in event update
  MIPS, Perf-events: Work with the new callchain interface
  MIPS, Perf-events: Fix event check in validate_event()
  MIPS, Perf-events: Work with the new PMU interface
  MIPS, Perf-events: Work with irq_work
  MIPS: Fix always CONFIG_LOONGSON_UART_BASE=y
  MIPS: Loongson: Fix potentially wrong string handling
  MIPS: Fix GCC-4.6 'set but not used' warning in arch/mips/mm/init.c
  MIPS: Fix GCC-4.6 'set but not used' warning in ieee754int.h
  MIPS: Remove unused code from arch/mips/kernel/syscall.c
  MIPS: Fix GCC-4.6 'set but not used' warning in signal*.c
  MIPS: MSP: Fix MSP71xx bpci interrupt handler return value
  MIPS: Select R4K timer lib for all MSP platforms
  MIPS: Loongson: Remove ad-hoc cmdline default
  MIPS: Clear the correct flag in sysmips(MIPS_FIXADE, ...).
  MIPS: Add an unreachable return statement to satisfy buggy GCCs.
  ...

13 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Mon, 14 Mar 2011 22:19:09 +0000 (15:19 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: ce4100: Set pci ops via callback instead of module init
  x86/mm: Fix pgd_lock deadlock
  x86/mm: Handle mm_fault_error() in kernel space
  x86: Don't check for BIOS corruption in first 64K when there's no need to

13 years agoRevert "oom: oom_kill_process: fix the child_points logic"
Linus Torvalds [Mon, 14 Mar 2011 22:17:07 +0000 (15:17 -0700)]
Revert "oom: oom_kill_process: fix the child_points logic"

This reverts the parent commit.  I hate doing that, but it's generating
some discussion ("half of it is right"), and since I am planning on
doing the 2.6.38 release later today we can punt it to stable if
required. Let's not rock the boat right now.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agooom: oom_kill_process: fix the child_points logic
Oleg Nesterov [Mon, 14 Mar 2011 19:05:30 +0000 (20:05 +0100)]
oom: oom_kill_process: fix the child_points logic

oom_kill_process() starts with victim_points == 0.  This means that
(most likely) any child has more points and can be killed erroneously.

Also, "children has a different mm" doesn't match the reality, we should
check child->mm != t->mm.  This check is not exactly correct if t->mm ==
NULL but this doesn't really matter, oom_kill_task() will kill them
anyway.

Note: "Kill all processes sharing p->mm" in oom_kill_task() is wrong
too.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMIPS: Alchemy: Fix reset for MTX-1 and XXS1500
Florian Fainelli [Mon, 21 Feb 2011 13:28:02 +0000 (14:28 +0100)]
MIPS: Alchemy: Fix reset for MTX-1 and XXS1500

Since commit 32fd6901 (MIPS: Alchemy: get rid of common/reset.c)
Alchemy-based boards use their own reset function. For MTX-1 and XXS1500,
the reset function pokes at the BCSR.SYSTEM_RESET register, but this does
not work. According to Bruno Randolf, this was not tested when written.

Previously, the generic au1000_restart() routine called the board specific
reset function, which for MTX-1 and XXS1500 did not work, but finally made
a jump to the reset vector, which really triggers a system restart. Fix
reboot for both targets by jumping to the reset vector.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2093/
Acked-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
13 years agoMIPS: MTX-1: Make au1000_eth probe all PHY addresses
Florian Fainelli [Sun, 27 Feb 2011 18:53:53 +0000 (19:53 +0100)]
MIPS: MTX-1: Make au1000_eth probe all PHY addresses

When au1000_eth probes the MII bus for PHY address, if we do not set
au1000_eth platform data's phy_search_highest_address, the MII probing
logic will exit early and will assume a valid PHY is found at address 0.
For MTX-1, the PHY is at address 31, and without this patch, the link
detection/speed/duplex would not work correctly.

CC: stable@kernel.org
Signed-off-by: Florian Fainelli <florian@openwrt.org>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2111/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>