Commit Graph

8621 Commits

Author SHA1 Message Date
Laurent Pinchart 66847ef013 [media] uvcvideo: Add UVC timestamps support
UVC devices transmit a device timestamp along with video frames. Convert
the timestamp to a host timestamp and use it to fill the V4L2 buffer
timestamp field.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:23:30 -02:00
Laurent Pinchart 25738cbd72 [media] uvcvideo: Extract timestamp-related statistics
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:22:08 -02:00
Alexey Fisher 7bc5edb00b [media] uvcvideo: Extract video stream statistics
Export the statistics through debugfs.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:22:08 -02:00
Alexey Fisher edbaa39842 [media] uvcvideo: Add debugfs support
Create a debugfs entry per UVC stream. This will be used to export
stream statistics.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
[mchehab@redhat.com: add incude <linux/module.h> to avoid compilation breakage]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:22:07 -02:00
Laurent Pinchart c4d99f89e2 [media] uvcvideo: Ignore GET_RES error for XU controls
GET_RES request support is mandatory for extension units, but some
cameras still choke on it (one example is the Logitech QuickCam PTZ that
returns a single byte for the PTZ relative control instead of four).

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:15:01 -02:00
Laurent Pinchart 3afedb9585 [media] uvcvideo: Don't skip erroneous payloads
Instead of skipping the payload completely, which would make the
resulting image corrupted anyway, store the payload normally and mark
the buffer as erroneous. If the no_drop module parameter is set to 1 the
buffer will then be passed to userspace, and tt will then be up to the
application to decide what to do with the buffer.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:14:31 -02:00
Laurent Pinchart 0c6a3b268e [media] uvcvideo: Make uvc_commit_video() static
The function is not used outside of its compilation unit. Make it
static.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:14:04 -02:00
Laurent Pinchart 4eb2697e0a [media] uvcvideo: Add support for LogiLink Wireless Webcam
The camera requires the PROBE_MINMAX quirk. Add a corresponding entry in
the device IDs list.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:13:52 -02:00
Laurent Pinchart b10c55d808 [media] uvcvideo: Remove duplicate definitions of UVC_STREAM_* macros
The macros are defined in both drivers/media/video/uvc/uvc_video.c and
include/linux/usb/video.h. Remove definitions from the former.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:13:40 -02:00
Laurent Pinchart 24c3aae0c7 [media] uvcvideo: Handle uvc_init_video() failure in uvc_video_enable()
Turn streaming off (by selecting alternate setting 0) and disable the
video buffers queue in the uvc_video_enable() error path.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:13:29 -02:00
Laurent Pinchart 6998b6fb4b [media] uvcvideo: Use videobuf2-vmalloc
Replace the current video buffers queue implementation with
videobuf2-vmalloc.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:13:06 -02:00
Laurent Pinchart 3d95e93257 [media] uvcvideo: Move fields from uvc_buffer::buf to uvc_buffer
Add mem, length and bytesused fields to the uvc_buffer structure and use
them instead of accessing the uvc_buffer::buf m.offset, length and
bytesused fields directly. This prepares the driver to the conversion to
videobuf2.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:12:05 -02:00
Thierry Reding 4be9c8fb58 [media] tm6000: Fix check for interrupt endpoint
Checking for &dev->int_in is useless because it returns the address of
the embedded struct tm6000_endpoint, which will always be positive and
therefore true.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 10:47:37 -02:00
Thierry Reding 875f0e3da1 [media] tm6000: Fix bad indentation
Function parameters on subsequent lines should never be aligned with the
function name but rather be indented.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 10:47:24 -02:00
Thierry Reding fcd44b9efb [media] tm6000: Fix fast USB access quirk
The original patch used the fast USB quirk to enable fast access to
registers in the tm6000_read_write_usb(). The applied patch moved the
check to the tm6000_reset(), probably due to some merge conflicts.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 10:46:58 -02:00
Guennadi Liakhovetski 1fc2b5f7fb [media] V4L: cosmetic clean up
Improve the use of the WARN_ON() macro and use a local variable, instead
of reduntantly dereferencing a pointer in v4l2-dev.c

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:47:21 -02:00
Guennadi Liakhovetski 6b806e30a3 [media] V4L: mt9m111: fix uninitialised mutex
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:44:03 -02:00
Janusz Krzysztofik 9c0223b53a [media] V4L: omap1_camera: fix missing <linux/module.h> include
Otherwise compilation breaks with:

...

after apparently no longer included recursively from other header files.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:43:34 -02:00
Dan Carpenter 08da558ae0 [media] V4L: mt9t112: use after free in mt9t112_probe()
priv gets dereferenced in mt9t112_set_params() so we should return
before calling that.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:42:40 -02:00
Guennadi Liakhovetski 4c0b036db8 [media] V4L: soc-camera: fix compiler warnings on 64-bit platforms
On 64-bit platforms assigning a pointer to a 32-bit variable causes a
compiler warning and cannot actually work. Soc-camera currently doesn't
support any 64-bit systems, but such platforms can be added in the
and in any case compiler warnings should be avoided.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:34:00 -02:00
Peter Korsgaard a626f39452 [media] s5p_mfc_enc: fix s/H264/H263/ typo
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Aked-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:30:13 -02:00
Jean-François Moine 885f3cad98 [media] gspca - zc3xx: Bad initialization of zc305/gc0303
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:27:36 -02:00
Jean-François Moine b267b73d5a [media] gspca - topro: Lower the frame rate in 640x480 for the tp6800
The topro webcams don't support 30fps in 640x480 mode.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:27:08 -02:00
Jean-François Moine 41f09322e9 [media] gspca - sonixj: Change color control for sensor po2030n
Adjustment of the colors by the po2030n is finer than by the bridge controls.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:26:46 -02:00
Jean-François Moine b4b0107137 [media] gspca - sonixj: Bad sensor mode at start time
The 'open-drain' mode was not reset when starting the webcams.
This problem was introduced by commit 0e4d413af1 and
its exact effects are unknown.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:26:27 -02:00
Jean-François Moine 6121ca572f [media] gspca: Remove the useless variable 'nbalt'
As the alternate settings are now sorted in gspca main,
the variable 'nbalt' is no more useful.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:26:11 -02:00
Jean-François Moine a67648797a [media] gspca: Remove the useless variable 'reverse_alts'
The alternate settings are now sorted in gspca main, so the flag
'reverse_alts' is no more useful.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:25:27 -02:00
Gary Thomas d1ee8878a1 [media] omap_vout: Fix compile error in 3.1
This patch is against the mainline v3.1 release (c3b92c8) and
fixes a compile error when building for OMAP3+DSS+VOUT

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 09:08:32 -02:00
Michael Krufky 6b536a6ca5 [media] au0828: add missing models 72101, 72201 & 72261 to the model matrix
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 08:27:49 -02:00
Michael Krufky 64a6b6cbfa [media] au0828: add missing USB ID 2040:7213
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 08:27:39 -02:00
Michael Krufky 23bbba3411 [media] au0828: add missing USB ID 2040:7260
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 08:27:23 -02:00
Dan Carpenter 773ddbd228 [media] saa7164: fix endian conversion in saa7164_bus_set()
The msg->command field is 32 bits, and we should fill it with a call
to cpu_to_le32().  The current code is broke on big endian systems.
On little endian systems it truncates the 32 bit value to 16 bits
which probably still works fine.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 08:07:41 -02:00
Mauro Carvalho Chehab 48763e2c6e [media] drxk: Switch the delivery system on FE_SET_PROPERTY
The DRX-K doesn't change the delivery system at set_properties,
but do it at frontend init. This causes problems on programs like
w_scan that, by default, opens both frontends.

Instead, explicitly set the format when set_parameters callback is
called.

Tested-by: Eddi De Pieri <eddi@depieri.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-09 20:49:05 -02:00
Joe Perches 9aa7705c96 [media] [trivial] omap24xxcam-dma: Fix logical test
Likely misuse of & vs &&.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-09 20:28:42 -02:00
Tomi Valkeinen 71c7a97289 [media] omap_vout: fix crash if no driver for a display
omap_vout crashes on start if a corresponding driver is not loaded for a
display device.

This patch changes omap_vout init sequence to skip devices without a
driver.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-07 11:12:40 -02:00
Mauro Carvalho Chehab 2a887d2770 [media] tm6000: fix OOPS at tm6000_ir_int_stop() and tm6000_ir_int_start()
[ 3755.608233] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
[ 3755.616360] IP: [<ffffffffa03b80b7>] tm6000_ir_int_stop+0x10/0x1b [tm6000]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-30 16:49:45 -02:00
Mauro Carvalho Chehab 6740a93288 [media] tm6000: automatically load alsa and dvb modules
All devices should support alsa module. Devices with DVB will
auto-load the dvb module. This way, tm6000-based devices should
now have hot plugin.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-30 16:49:37 -02:00
Mauro Carvalho Chehab 9f711a80c5 [media] tm6000: Use a 16 scancode bitmask for IR
This should allow using 24 or 32 bits NEC IR decoding tables with
those devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-30 14:58:20 -02:00
Mauro Carvalho Chehab 8afc539c4a [media] tm6000: Allow auto-detecting tm6000 devices
Now that the tm6000 driver is on a good shape, we can enable
device autodetection, based on the USB ID.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-30 14:54:19 -02:00
Mauro Carvalho Chehab 4a83b01150 [media] tm6000: rewrite IR support
The IR support were broken on my tests with HVR-900H. Also,
there were several issues on the current implementation.
This patch is a major rewrite of the IR support for this
	- Improve debug messages;
	- Don't do polling for interrrupt based IR;
	- Add proper support for RC-5 protocol;
	- Always provide 16 bits for NEC and RC-5;
	- Fix polling code;
	- Split polling functions from URB Interrupt ones;
	- Don't hardcode the XTAL reference for tm6000 IR;
	- If a URB submit fails, retries after 100ms;
	- etc.

Tested on Hauppauge HVR-900H, with RC-5 and NEC remotes.

Issues on IR handling, on this device:
	- Repeat events aren't detected (neither on NEC or RC-5);
	- NEC codes are always provided with 16 bits.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-30 14:54:11 -02:00
Mauro Carvalho Chehab f9fa905bde [media] tm6000: add IR support for HVR-900H
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-30 14:43:45 -02:00
Mauro Carvalho Chehab 15a295ec31 [media] tm6000: Fix IR register names
IR registers 0xd9 to 0xdf were badly named, making harder to
check what's the register accessed at the RC code. Fix the
name convention.

No functional changes on this patch.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-30 14:43:06 -02:00
Mauro Carvalho Chehab 36d36b884c [media] tm6000: Warning cleanup
drivers/media/video/tm6000/tm6000-video.c: In function ‘tm6000_release’:
drivers/media/video/tm6000/tm6000-video.c:1608:7: warning: unused variable ‘err’ [-Wunused-variable]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-28 21:58:54 -02:00
Stefan Ringel edcfdd919a [media] tm6000: bugfix data check
beholder use a map with 3 bytes, but many rc maps have 2 bytes, so I add a workaround for beholder rc.

Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-28 21:31:09 -02:00
Stefan Ringel de2a20baff [media] tm6000: bugfix at bulk transfer
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-28 21:30:41 -02:00
Stefan Ringel 8159c184cf [media] tm6000: bugfix at interrupt reset
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-28 21:30:28 -02:00
Stefan Ringel c00ecc97bc [media] tm6000: bugfix at tm6000_set_reg_mask() register setting
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-28 21:30:09 -02:00
Stefan Ringel 078a68c11f [media] tm6000: remove experimental depends
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-28 21:29:32 -02:00
Mauro Carvalho Chehab 32f6f3ac54 [media] tm6000: Fix tm6010 audio standard selection
A V4L2 standards mask may contain several standards. A more restricted
mask with just one standard is used when user needs to bind to an specific
standard that can't be auto-detect among a more generic mask.

So, Improve the autodetection logic to detect the correct audio standard
most of the time.

Based on a patch made by Dmitri Belimov <d.belimov@gmail.com>.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-28 21:22:46 -02:00
Mauro Carvalho Chehab 75f064f220 [media] tm6000: Add a few missing bits to alsa
There are some properties found on em28xx, but not on tm6000. Add
them, in order to be more consistent.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-28 21:12:52 -02:00
Janusz Krzysztofik d95d7b91b4 [media] V4L: omap1_camera: fix missing <linux/module.h> include
Otherwise compilation breaks with:

...

after apparently no longer included recursively from other header files.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-26 13:45:38 -02:00
Marek Szyprowski fc8ac777ae [media] media: video: s5p-tv: fix build break
This patch fixes following build break:

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 21:18:31 -02:00
Dmitry Artamonow 025521f917 [media] omap3isp: fix compilation of ispvideo.c
Fix following build error by explicitely including <linux/module.h>
header file.

  CC      drivers/media/video/omap3isp/ispvideo.o

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 21:13:08 -02:00
Thomas Meyer 6d00c9aa2b [media] pwc: Use kmemdup rather than duplicating its implementation
The semantic patch that makes this change is available
in scripts/coccinelle/api/memdup.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 21:08:16 -02:00
Thomas Meyer 0ceaec188e [media] cx25821: Use kmemdup rather than duplicating its implementation
The semantic patch that makes this change is available
in scripts/coccinelle/api/memdup.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 21:08:01 -02:00
Thomas Meyer 82c80f8371 [media] v4l: Casting (void *) value returned by kmalloc is useless
The semantic patch that makes this change is available
in scripts/coccinelle/api/alloc/drop_kmalloc_cast.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 21:06:57 -02:00
Sylwester Nawrocki fbe78ddde1 [media] m5mols: Fix set_fmt to return proper pixel format code
In case pixel format is modified in set_fmt by the driver,
the changes are not propagated back to the caller. Fix this
by adjusting passed  data for TRY and ACTIVE format.

Also remove redundant pixel format code information from
struct m5mols_info, it's already available in 'ffmt' array.
Remove pad number validation in set/get_fmt, this is already
done in the core.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: HeungJun Kim <riverful.kim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 21:03:54 -02:00
Sylwester Nawrocki f83f71fda2 [media] s5p-fimc: Use correct fourcc for RGB565 colour format
With 16-bit RGB565 colour format pixels are stored by the device in memory
in the following order:

    | b3  | b2  | b1  | b0  |
   ~+-----+-----+-----+-----+
    | R5 G6 B5  | R5 G6 B5  |

This corresponds to V4L2_PIX_FMT_RGB565 fourcc, not V4L2_PIX_FMT_RGB565X.
This change is required to avoid trouble when setting up video pipeline
with the s5p-tv devices, so the colour formats at both devices can be
properly matched.

Cc: <stable@kernel.org>
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>
2011-11-24 21:03:35 -02:00
Sylwester Nawrocki d12392ec00 [media] s5p-fimc: Fail driver probing when sensor configuration is wrong
When a sensor with MIPI-CSI interface is attached through platform
data definition and the MIPI-CSI receiver is not selected in kernel
configuration s5p-fimc driver probe() will now succeed, issuing only
a warning. It was done this way to allow the driver to work even if
system configuration is not exactly right.

Instead make the driver's probe() fail if a MIPI-CSI sensor was
requested but s5p-csis module is not present.

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>
2011-11-24 21:03:18 -02:00
Sylwester Nawrocki 9c63afcb02 [media] s5p-fimc: Adjust pixel height alignments according to the IP revision
Minimum vertical pixel size alignment for input and output DMA and
the scaler depend on color format, rotation, the IP instance and revision.

Make vertical pixel size of format and crop better fit for each SoC
revision and the IP instance by adding min_vsize_align attribute to
the FIMC variant data structure. It's now common for the DMA engines
and the scaler.

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>
2011-11-24 21:03:03 -02:00
Sylwester Nawrocki 5cbf6f16ec [media] s5p-fimc: Allow probe() to succeed with null platform data
The "s5p-fimc-md" platform device platform_data is used to pass
attached camera sensor data. Not allowing device probe() to succeed
when it's null prevents using FIMC as a mem-to-mem device only.
Fix this by removing the platform_data check against null and
registering sensors only if platform_data is specified.
Also add logging of the information which /dev/video is assigned
to which device during probe().

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>
2011-11-24 21:02:39 -02:00
Sylwester Nawrocki 2c1bb62e21 [media] s5p-fimc: Fix buffer dequeue order issue
When requested more than 2 buffers the buffer dequeue order was wrong
due to erroneous updating FIMC registers in every interrupt handler
call. This also fixes regression of resetting the output DMA buffer
pointer at wrong time, when some buffers are already queued in hardware.
The hardware is reset in the start_streaming callback in order to align
the H/W state with the software output buffer pointer (buf_index).

Additionally a simple write to S5P_CISCCTRL register is replaced with
a read/modification/write to make sure the scaler is not being disabled
in fimc_hw_set_scaler().

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>
2011-11-24 21:02:10 -02:00
Sylwester Nawrocki 7aa9f1844a [media] s5p-fimc: Fix initialization for proper system suspend support
ST_LPM bit must not be initially set, so the first resume helper
call properly quiesce the device's operation.
Also fimc_runtime_suspend() at device remove is unneeded and
leads to unbalanced clock disable so remove it.

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>
2011-11-24 21:01:50 -02:00
Sylwester Nawrocki 64c570f505 [media] s5p-fimc: Fix error in the capture subdev deinitialization
Make sure the subdev pointer is cleared when the subdev object
has been freed.

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>
2011-11-24 21:01:35 -02:00
Sylwester Nawrocki 7acde02a5b [media] s5p-fimc: Fix wrong pointer dereference when unregistering sensors
After i2c_unregister_device() has been called the client object can already
be freed and thus using the client pointer may lead to dereferencing freed
memory. Avoid this by saving the adapter pointer for further use before
i2c_unregister_device() call.

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>
2011-11-24 20:57:12 -02:00
Andreas Oberritter a1ed02e9f1 [media] em28xx: Add Terratec Cinergy HTC Stick
Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:29:59 -02:00
Leonid V. Fedorenchik c7855ee531 [media] cx25821.h: Line up defines
Line up constant defines to the same column.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:03:19 -02:00
Leonid V. Fedorenchik 0abfefbe49 [media] cx25821-video.c: Change line endings
Change obscure line endings to less obscure ones. (improve readability)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:03:07 -02:00
Leonid V. Fedorenchik f253981406 [media] cx25821-video.c: Fix indent
Fix indent of statements to improve readability.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:02:42 -02:00
Leonid V. Fedorenchik cd52b2cf9b [media] cx25821-video.c: Move operators
Move operator in complex expression to the end of the line to preserve
consistency.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:01:58 -02:00
Leonid V. Fedorenchik 4a33b6f8bd [media] cx25821-video.c: Fix definitions
Change multiple definitions in one statement into multiple statements
with one definition per statement.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:01:34 -02:00
Leonid V. Fedorenchik a1937e1919 [media] cx25821-video.c: Fix assignment
Change double assignment in one statement into two assignment
statements.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:00:57 -02:00
Leonid V. Fedorenchik 1316b63ccd [media] cx25821-video.c: Change spaces
Change double spaces between lexemes into single spaces.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:00:39 -02:00
Leonid V. Fedorenchik 7e7beb8c25 [media] cx25821-video.c: Delete empty line
Delete unnecessary empty line.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 19:00:20 -02:00
Leonid V. Fedorenchik 8eb1fdfff0 [media] cx25821-video-upstream.c: Change line endings
Change obscure line endings to less obscure ones. (improve readability)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:59:27 -02:00
Leonid V. Fedorenchik 2c68e933a9 [media] cx25821-video-upstream.c: Fix indent
Change indent of statements to use tabs and to improve readability.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:57:37 -02:00
Leonid V. Fedorenchik 16f0fda705 [media] cx25821-video-upstream.c: Remove braces
Delete curly braces around single if-else statements.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:57:04 -02:00
Leonid V. Fedorenchik 85b7982d16 [media] cx25821-video-upstream-ch2.c: Change line endings
Change obscure line endings to less obscure ones. (improve readability)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:56:15 -02:00
Leonid V. Fedorenchik df253423d4 [media] cx25821-video-upstream-ch2.c: Remove braces
Remove unnecessary curly braces around single if statement.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:54:37 -02:00
Leonid V. Fedorenchik 3a59fab41b [media] cx25821-video-upsstream-ch2.c: Move operators
Move operators in complex expressions to the end of the lines to
preserve consistency.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:54:28 -02:00
Leonid V. Fedorenchik 2a4492d822 [media] cx25821-video-upstream-ch2.c: Fix indent
Change indent of statements with (less than 8) spaces to indent with
tabs.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:54:11 -02:00
Leonid V. Fedorenchik 3940de7482 [media] cx25821-video-upstream-ch2.c: Line up comments
Line up comments to match indent of surrounding statements.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:53:59 -02:00
Leonid V. Fedorenchik 14098bc730 [media] cx25821-medusa-video.c: Change line endings
Change obscure line endings to less obscure ones. (improve readability)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:53:44 -02:00
Leonid V. Fedorenchik 49faae869f [media] cx25821-medusa-video.c: Move operators
Plase operators in complex expressions at the end of the lines to
preserve consistency.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:52:58 -02:00
Leonid V. Fedorenchik 09c3544030 [media] cx25821-medusa-video.c: Fix comment
Delete part of the comment that is not checked in code.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:52:43 -02:00
Leonid V. Fedorenchik f70a6566d3 [media] cx25821-medusa-reg.h: Line up defines
Line up constant defines to the same column. (also delete unnecessary
spaces in comments)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:52:30 -02:00
Leonid V. Fedorenchik 7618aa0e46 [media] cx25821-medusa-defines.h: Line up defines
Line up constant defines to the same column.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:52:07 -02:00
Leonid V. Fedorenchik bc8b5dcaf5 [media] cx25821-medusa-defines.h: Fix typo
Fix typo in comment in word 'decoder'.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:51:48 -02:00
Leonid V. Fedorenchik 654d075d5d [media] cx25821-i2c.c: Change line endings
Change obscure line endings to less obscure ones. (improve readability)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:51:39 -02:00
Leonid V. Fedorenchik 3f0bfe5bbd [media] cx25821-core.c: Change line endings
Change obscure line endings to less obscure ones. (improve readability)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:51:27 -02:00
Leonid V. Fedorenchik c14ea5e59f [media] cx25821-core.c: Fix indent
Change indent of statements that indented with spaces to indent with
tabs.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:50:11 -02:00
Leonid V. Fedorenchik 43365d5d13 [media] cx25821-core.c: Delete empty line
Delete redundant empty line.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:49:48 -02:00
Leonid V. Fedorenchik 744992c011 [media] cx25821-cards.c: Fix indent
Fix indent of statement to use tab instead of spaces.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:49:40 -02:00
Leonid V. Fedorenchik 6f1f0e85da [media] cx25821-audio.h: Fix multiline defines
Change column of line continuation character ('\') and fix indent of
multiline defines.
Also line up remaining constant defines.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:49:25 -02:00
Leonid V. Fedorenchik 8e24958161 [media] cx25821-audio.h: Line up defines
Line up defines to the same column.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:48:53 -02:00
Leonid V. Fedorenchik 72a52fc325 [media] cx25821-audio-upstream.c: Change line endings
Change obscure line endings to less obscure ones. (improve readability)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:47:57 -02:00
Leonid V. Fedorenchik 64dcb19496 [media] cx25821-audio-upstream.c: Move operators
Move operator of complex expression to the end of the lines to preserve
consistency.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:35:36 -02:00
Leonid V. Fedorenchik 81f4c8dddc [media] cx25821-audio-upstream.c: Fix indent
Change wrong indent (with spaces and less than 7 columns) of statements
to tabs.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:35:06 -02:00
Leonid V. Fedorenchik e5f1062178 [media] cx25821-alsa.c: Change line endings
Change obscure line endings to less obscure ones. (improve readability)

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:34:50 -02:00
Leonid V. Fedorenchik 4d9304c63e [media] cx25821-alsa.c: Fix indent
Delete unnecessary space before indented statement.

Signed-off-by: Leonid V. Fedorenchik <leonidsbox@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-11-24 18:34:08 -02:00