Commit Graph

9677 Commits

Author SHA1 Message Date
Mauro Carvalho Chehab
0aa77f6c29 [media] move the remaining USB drivers to drivers/media/usb
Move the 3 remaining usb drivers to their proper space.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-15 16:34:46 -03:00
Mauro Carvalho Chehab
0c0d06cac6 [media] rename most media/video usb drivers to media/usb
Rename all USB drivers with their own directory under
drivers/media/video into drivers/media/usb and update the
building system.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-15 16:25:07 -03:00
Lad, Prabhakar
a1b3a6ce0f [media] media: davinci: fix section mismatch warnings
This patch fixes section mismatch warnings for
davinci video drivers.

[mchehab@redhat.com: applied it as a fixup over the previous (and wrong) changeset c6afbf2]
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-14 08:45:49 -03:00
Mauro Carvalho Chehab
ccae7af2bf [media] common: move media/common/tuners to media/tuners
Move the tuners one level up, as the "common" directory will be used
by drivers that are shared between more than one driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 23:40:28 -03:00
Mauro Carvalho Chehab
786baecfe7 [media] dvb-usb: move it to drivers/media/usb/dvb-usb
As media/dvb will be removed, move it to a proper place.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 23:26:31 -03:00
Mauro Carvalho Chehab
9a0bf528b4 [media] move the dvb/frontends to drivers/media/dvb-frontends
Raise the DVB frontends one level up, as the intention is to remove
the drivers/media/dvb directory.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 23:13:41 -03:00
Mauro Carvalho Chehab
3d6c2bc08a [media] dvb: move the dvb core one level up
just like the V4L2 core, move the DVB core to drivers/media, as the
intention is to get rid of both "video" and "dvb" directories.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 23:08:14 -03:00
Mauro Carvalho Chehab
5bc3cb743b [media] v4l: move v4l2 core into a separate directory
Currently, the v4l2 core is mixed together with other non-core drivers.
Move them into a separate directory.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 23:02:38 -03:00
Javier Martin
087c78a8a2 [media] media: mx2_camera: Mark i.MX25 support as BROKEN
i.MX25 support is known to have been broken for almost a year.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 22:18:37 -03:00
Sachin Kamat
dc9c94cd33 [media] s5k6aa: Use devm_kzalloc function
devm_kzalloc() eliminates the need to free explicitly thereby
making the code a bit simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 22:10:57 -03:00
Manoel Pinheiro
b08deebebe [media] saa7134-dvb: Fix kworld sbtvd I2C gate control
The correct place to put i2c_gate_ctrl is before calling tda18271_attach,
because the driver tda18271 will use it to enable or disable the i2c-bus
from the demodulator to the tuner.

And thus eliminate the error message: "Unknown device (255) detected
@ 1-00c0, device not supported" in the driver tda18271.

In the device kworld_sbtvd (hybrid analog and digital TV) the control
of the i2c-bus to tuner is done in the analog demodulator and not in
the digital demodulator.

Signed-off-by: Manoel Pinheiro <pinusdtv@hotmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 21:14:59 -03:00
Emil Goode
d9bc8510c5 [media] cx88: Remove duplicate const
This patch fixes the following sparse warnings
by removing use of duplicate const.

drivers/media/video/cx88/cx88.h:152:40:
	warning: duplicate const
drivers/media/video/cx88/cx88-core.c:256:33:
	warning: duplicate const
drivers/media/video/cx88/cx88-alsa.c:769:41:
	warning: duplicate const

As commented by Jonathan Nieder:

	These double "const" were introduced in v2.6.37-rc1~64^2~464 (V4L/DVB:
	drivers/media: Make static data tables and strings const, 2010-08-25).

	The address of an array is already immutable by definition, so for
	what it's worth, with or without a clarified commit message,

[mchehab@redhat.com: Tested with "gcc -s" (version 4.7.0):
 the produced asm is indeed equal before and after this patch]
Signed-off-by: Emil Goode <emilgoode@gmail.com>
Acked-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 19:47:56 -03:00
Andy Shevchenko
6f28f75a6d [media] saa7127: use %*ph to print small buffers
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 16:40:07 -03:00
Andy Shevchenko
70aa34569a [media] gspca: use %*ph to print small buffers
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 16:39:05 -03:00
Mauro Carvalho Chehab
9adf6132dc [media] dvb: get rid of fe_ioctl_override callback
This callback were meant to allow overriding a FE callback, before its
call, but it is not really needed, as the callback can be intercepted
after tuner attachment.

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

So, get rid of it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Antti Palosaari <crope@iki.fi>
Reviewed-by: Antti Palosaari <crope@iki.fi>
2012-08-13 16:34:03 -03:00
Sean Young
4da212e2ff [media] saa7134: simplify timer activation
This simplies the code and resolves a possible race condition between
ir_raw_decode_timer_end() and saa7134_raw_decode_irq().

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

Compile tested only.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 16:19:13 -03:00
Lad, Prabhakar
c6afbf298b [media] davinci: fix build warning when CONFIG_DEBUG_SECTION_MISMATCH is enabled
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 16:01:54 -03:00
Laurent Pinchart
d584b8386e [media] uvcvideo: Add support for Ophir Optronics SPCAM 620U cameras
The camera requires the PROBE_MINMAX quirk. Add a corresponding entry in
the device IDs list.

Reported-by: Stefan Muenzel <stefanmuenzel@googlemail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 15:50:12 -03:00
Stefan Muenzel
ca47e7192c [media] uvcvideo: Support 10bit, 12bit and alternate 8bit greyscale formats
The SPCAM SP620U camera uses the alternate "Y8  " GUID for the 8-bit
greyscale format, and supports a 12-bit greyscale format. Add support
for those in the driver, as well as for 10-bit greyscale formats.

Signed-off-by: Stefan Muenzel <stefanmuenzel@googlemail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 15:49:56 -03:00
Laurent Pinchart
6fd90db8df [media] uvcvideo: Support super speed endpoints
Compute the maximum number of bytes per interval using the burst and
multiplier values for super speed endpoints.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-13 15:47:56 -03:00
Ezequiel García
9cb2173e6e [media] media: Add stk1160 new driver (easycap replacement)
This driver adds support for stk1160 usb bridge as used in some
video/audio usb capture devices.
It is a complete rewrite of staging/media/easycap driver and
it's meant as a replacement.

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

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

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

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-12 14:04:04 -03:00
Andy Shevchenko
518c267f4c [media] saa7164: use native print_hex_dump() instead of custom one
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-12 07:58:54 -03:00
Mauro Carvalho Chehab
0bc9c89464 [media] em28xx: Fix height setting on non-progressive captures
This was introduced on commit c2a6b54a9:
"em28xx: fix: don't do image interlacing on webcams"

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

Reported-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-12 07:09:06 -03:00
Tim Gardner
229fd7d2f1 [media] cpia2: Declare MODULE_FIRMWARE usage
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Cc: linux-media@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-12 05:49:03 -03:00
Nicolas THERY
ddb9fa25be [media] videobuf2: fix sparse warning
Fix "symbol 'vb2_vmalloc_memops' was not declared. Should it be static?"
sparse warning.

Signed-off-by: Nicolas Thery <nicolas.thery@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-12 05:48:28 -03:00
Michael Jones
9d380adf02 [media] v4l2: typos
[mchehab@redhat.com: fix a merge conflict at Documentation/video4linux/v4l2-framework.txt]
Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 16:55:53 -03:00
Laurent Pinchart
8b34000377 [media] omap3isp: Mark the resizer output video node as the default video node
The resizer can output YUYV and UYVY in a wide range of sizes, making it
the best video node for regular V4L2 applications.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 16:03:36 -03:00
Laurent Pinchart
c51364cafa [media] omap3isp: ccdc: Add YUV input formats support
Enable the bridge automatically when the input format is YUYV8 or UYVY8.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 16:02:56 -03:00
Laurent Pinchart
73ea57eb54 [media] omap3isp: ccdc: Remove ispccdc_syncif structure
The structure is only used to store configuration data and pass it to
CCDC configuration functions. Access the data directly from the
locations that need it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 16:02:01 -03:00
Laurent Pinchart
cf7a3d91ad [media] omap3isp: ccdc: Remove support for interlaced data and master HS/VS mode
Those features are half-implemented and not used. Remove them.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 16:01:43 -03:00
Ivaylo Petrov
73cdc79f93 [media] omap3isp: csi2: Add V4L2_MBUS_FMT_YUYV8_2X8 support
Tested with ov9740 and

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

Signed-off-by: Ivaylo Petrov <ivpetrov@mm-sol.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 16:01:20 -03:00
Laurent Pinchart
0810fd9c53 [media] omap3isp: video: Add YUYV8_2X8 and UYVY8_2X8 support
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 16:00:56 -03:00
Laurent Pinchart
1697e49a0b [media] omap3isp: video: Split format info bpp field into width and bpp
The bpp field currently stores the sample width and is aligned to the
next multiple of 8 bits when computing data size in memory. This won't
work anymore for YUYV8_2X8 formats. Split the bpp field into a sample
width and a bytes per pixel value.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 16:00:36 -03:00
Laurent Pinchart
6fd206cb6e [media] omap3isp: preview: Add support for non-GRBG Bayer patterns
Rearrange the CFA interpolation coefficients table based on the Bayer
pattern. Support for non-Bayer CFA patterns is dropped as they were not
correctly supported, and have never been tested.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:59:54 -03:00
Laurent Pinchart
ac9dad9316 [media] omap3isp: preview: Merge gamma correction and gamma bypass
Enabling gamma bypass disables gamma correction and vice versa. Merge
the two parameters.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:58:58 -03:00
Laurent Pinchart
7bec7ef860 [media] omap3isp: preview: Reorder configuration functions
Reorder the configuration and enable functions to match the parameters
order.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:58:41 -03:00
Laurent Pinchart
6f1dd566fd [media] omap3isp: preview: Pass a prev_params pointer to configuration functions
Instead of using void pointers and offset arithmetics to compute a
pointer to configuration parameters in a generic way, pass the complete
parameters structure to configuration functions and let them access the
parameters they need.

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

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:57:55 -03:00
Laurent Pinchart
fbabfa8dde [media] omap3isp: preview: Remove lens shading compensation support
The feature isn't fully implemented and doesn't work, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:57:09 -03:00
Michael Jones
b1e71f31cb [media] omap3isp: queue: Fix omap3isp_video_queue_dqbuf() description comment
Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:55:28 -03:00
Peter Meerwald
13eaaa7f2f [media] omap3isp: ccdc: No semicolon is needed after switch statement
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:55:13 -03:00
Laurent Pinchart
96d62ae2dc [media] omap3isp: Configure HS/VS interrupt source before enabling interrupts
This needs to be performed before enabling interrupts as the sensor
might be free-running and the ISP default setting (HS edge) would put an
unnecessary burden on the CPU.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:55:04 -03:00
Laurent Pinchart
be9a1b98f4 [media] omap3isp: Don't access ISP_CTRL directly in the statistics modules
Use the existing omap3isp_subclk_enable() and omap3isp_subclk_disable()
functions instead.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:54:34 -03:00
Hans Verkuil
2f65f467b4 [media] vivi: zero fmt.pix.priv as per spec
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:51:35 -03:00
Hans Verkuil
77747f7960 [media] vivi: add frame size reporting
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:50:52 -03:00
Hans Verkuil
0a3a8a36d9 [media] vivi: fix colorspace setup
Two of the four possible YUV formats got the wrong colorspace.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 15:50:35 -03:00
Devin Heitmueller
77fc286328 [media] au0828: fix possible race condition in usage of dev->ctrlmsg
The register read function is referencing the dev->ctrlmsg structure outside
of the dev->mutex lock, which can cause corruption of the value if multiple
callers are invoking au0828_readreg() simultaneously.

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

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

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

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-11 12:37:55 -03:00
Ezequiel García
1240ad56ed [media] em28xx: Remove useless runtime->private_data usage
Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-10 17:04:59 -03:00
Devin Heitmueller
ad03d300e8 [media] au0828: make xc5000 firmware speedup apply to the xc5000c as well
Make the firmware speedup work for the 5000c as well as the original
xc5000.  This cuts firmware load time in half.

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

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-09 20:58:57 -03:00
Devin Heitmueller
e58071f024 [media] au0828: fix a couple of missed edge cases for i2c gate with analog
This patch addresses a couple of cases where I forgot to pop open the
gate when in analog mode (a correlary to fix the change made in patch
1c58d5b4a5fca42dce5428bd79b9405878017735).

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-09 20:58:31 -03:00
Devin Heitmueller
21dc61d3c0 [media] au0828: tweak workaround for i2c clock stretching bug
The hack I put in a couple of years ago to avoid clock stretching issues
when talking to the xc5000 worked fine for writes, but intermittently
fails for register reads, because the xc5000 may stretch the clock for
longer between bytes (I was seeing cases of 21 us on the analyzer).

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

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

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-09 20:57:39 -03:00