Mats Randgaard [Tue, 10 Dec 2013 12:55:18 +0000 (09:55 -0300)]
upstream: [media] adv7604: set CEC address (SPA) in EDID
Signed-off-by: Mats Randgaard <matrandg@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mats Randgaard [Thu, 5 Dec 2013 13:17:15 +0000 (10:17 -0300)]
upstream: [media] adv7604: select YPbPr if RGB_RANGE_FULL/LIMITED is set for VGA_COMP inputs
Signed-off-by: Mats Randgaard <matrandg@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mats Randgaard [Thu, 5 Dec 2013 13:05:58 +0000 (10:05 -0300)]
upstream: [media] adv7604: Receive CEA formats as RGB on VGA (RGB) input
If the input is ADV7604_INPUT_VGA_RGB and RGB quantization range is
set to V4L2_DV_RGB_RANGE_AUTO, video with CEA timings will be
received as RGB. For ADV7604_INPUT_VGA_COMP, automatic CSC mode
will be selected.
See table 44 on page 205 in "ADV7604 Hardware Manual, Rev. F, August 2010"
for details.
Signed-off-by: Mats Randgaard <matrandg@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mikhail Khelik [Fri, 20 Dec 2013 08:12:00 +0000 (05:12 -0300)]
upstream: [media] adv7604: add hdmi driver strength adjustment
The driver strength is board dependent, so set it from the platform_data.
Signed-off-by: Mikhail Khelik <mkhelik@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mats Randgaard [Tue, 10 Dec 2013 12:45:00 +0000 (09:45 -0300)]
upstream: [media] adv7604: add support for all the digital input ports
The adv7604 supports four digital input ports. This patch adds support
for all of them, instead of just port A.
Signed-off-by: Mats Randgaard <matrandg@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 19 Aug 2013 11:07:26 +0000 (08:07 -0300)]
upstream: [media] adv7604/ad9389b/ths8200: decrease min_pixelclock to 25MHz
The CEA-861 standard allows for the 640x480 format at 25.175 MHz.
Ensure that that's allowed according to the struct v4l2_bt_timings_cap.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Thu, 15 Aug 2013 11:05:59 +0000 (08:05 -0300)]
upstream: [media] ad9389b/adv7604/ths8200: use new v4l2_print_dv_timings helper
These three drivers all have code to log the dv_timings contents. Replace
that code with the new helper function.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mats Randgaard [Wed, 14 Aug 2013 10:58:45 +0000 (07:58 -0300)]
upstream: [media] adv7604: debounce "format change" notifications
The bridge driver is only notified when the input status has changed
since the previous interrupt.
Signed-off-by: Mats Randgaard <matrandg@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Thu, 12 Dec 2013 10:35:22 +0000 (07:35 -0300)]
upstream: [media] sn9c102: prepare for removal by moving it to staging
During the last media summit meeting it was decided to move this driver to
staging as the first step to removing it altogether.
Most webcams covered by this driver are now supported by gspca. Nobody has the
hardware to convert the remaining devices to gspca.
This driver needs a major overhaul to have it conform to the latest frameworks
and compliancy tests.
Without hardware, however, this is next to impossible. Given the fact that
this driver seems to be pretty much unused (it has been removed from Fedora
several versions ago and nobody complained about that), we decided to drop
this driver.
This patch moves it to staging. Some time in 2014 we will drop it completely.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/staging/media/Kconfig
Masanari Iida [Sun, 8 Dec 2013 15:22:53 +0000 (00:22 +0900)]
upstream: treewide: Fix typos in printk
Correct spelling typo in various part of kernel
Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Conflicts:
arch/arm64/kvm/handle_exit.c
arch/mips/ralink/cevt-rt3352.c
arch/mips/ralink/timer.c
drivers/gpu/drm/exynos/exynos_drm_fimc.c
drivers/i2c/busses/i2c-exynos5.c
drivers/iio/adc/twl6030-gpadc.c
fs/btrfs/tests/free-space-tests.c
net/nfc/digital_dep.c
Mauro Carvalho Chehab [Fri, 16 May 2014 13:55:55 +0000 (10:55 -0300)]
upstream: [media] m88ts2022: convert to Kernel I2C driver model
Convert driver from proprietary DVB driver model to standard I2C
driver model.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/media/tuners/m88ts2022.c
Conflicts:
drivers/media/tuners/m88ts2022.c
Antti Palosaari [Thu, 7 Nov 2013 20:01:31 +0000 (17:01 -0300)]
upstream: [media] m88ts2022: do not use dynamic stack allocation
I2C transfer were using dynamic stack allocation. Get rid of it.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Mon, 25 Feb 2013 12:01:13 +0000 (09:01 -0300)]
upstream: [media] em28xx: add support for PCTV DVB-S2 Stick (461e) [2013:0258]
Device has following chips: Empia EM28178, Montage M88DS3103,
Montage M88TS2022, Allegro A8293.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Fri, 13 Dec 2013 11:06:38 +0000 (08:06 -0300)]
upstream: [media] si470x: add check to test if this is really a si470x
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Fri, 13 Dec 2013 11:06:07 +0000 (08:06 -0300)]
upstream: [media] si470x: don't use buffer on the stack for USB transfers
You shouldn't use buffers allocated on the stack for USB transfers,
always kmalloc them.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Fri, 13 Dec 2013 11:58:37 +0000 (08:58 -0300)]
upstream: [media] media: Include linux/kernel.h for DIV_ROUND_UP()
DIV_ROUND_UP() is defined in kernel.h which was not included by
media-entity.h. Do exactly that.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
include/media/media-entity.h
Paul Gortmaker [Tue, 10 Dec 2013 20:23:48 +0000 (15:23 -0500)]
upstream: staging: delete non-required instances of include <linux/init.h>
None of these files are actually using any __init type directives
and hence don't need to include <linux/init.h>. Most are just a
left over from __devinit and __cpuinit removal, or simply due to
code getting copied from one driver to the next.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Conflicts:
drivers/staging/comedi/drivers/dt9812.c
drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
drivers/staging/gdm724x/gdm_tty.c
drivers/staging/lustre/include/linux/libcfs/linux/kp30.h
drivers/staging/lustre/include/linux/libcfs/linux/linux-prim.h
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h
drivers/staging/lustre/lnet/klnds/socklnd/socklnd_lib-linux.h
drivers/staging/lustre/lustre/lmv/lmv_fld.c
drivers/staging/lustre/lustre/lmv/lmv_intent.c
drivers/staging/lustre/lustre/lvfs/lvfs_linux.c
drivers/staging/lustre/lustre/mdc/mdc_locks.c
drivers/staging/lustre/lustre/obdclass/capa.c
drivers/staging/lustre/lustre/obdclass/linux/linux-module.c
drivers/staging/lustre/lustre/ptlrpc/gss/gss_bulk.c
drivers/staging/lustre/lustre/ptlrpc/gss/gss_generic_token.c
drivers/staging/lustre/lustre/ptlrpc/gss/gss_mech_switch.c
drivers/staging/lustre/lustre/ptlrpc/gss/lproc_gss.c
drivers/staging/ozwpan/ozpd.c
drivers/staging/ozwpan/ozproto.c
drivers/staging/ozwpan/ozusbsvc.c
drivers/staging/rtl8188eu/include/osdep_service.h
drivers/staging/rtl8192u/r8192U.h
drivers/staging/rts5208/rtsx.h
drivers/staging/zsmalloc/zsmalloc-main.c
Frank Schaefer [Sun, 1 Dec 2013 21:06:57 +0000 (18:06 -0300)]
upstream: [media] em28xx: add support for the SpeedLink Vicious And Devine Laplace webcams
The SpeedLink Vicious And Devine Laplace webcam is using an EM2765 bridge and
an OV2640 sensor. It has a built-in microphone (USB standard device class)
and provides 3 buttons (snapshot, illumination, mute) and 2 LEDs (capturing/mute
and illumination/flash). It is also equipped with an eeprom.
The device is available in two colors: white (1ae7:9003) and black (1ae7:9004).
For further details see http://linuxtv.org/wiki/index.php/VAD_Laplace.
Please note the following limitations that need to be addressed later:
- resolution limited to 640x480 (sensor supports 1600x1200)
- picture quality needs to be improved
- AV-mute button doesn't work yet
Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Jean-Francois Thibert [Wed, 9 Oct 2013 14:18:05 +0000 (11:18 -0300)]
upstream: [media] Add support for KWorld UB435-Q V2
This patch adds support for the UB435-Q V2. You might need to
use the device once with the Windows driver provided by KWorld
in order to permanently reprogram the device descriptors. Thanks
to Jarod Wilson for the initial attempt at adding support for this
device.
[m.chehab@samsung.com: Fixed Whitespace mangling, Coding Style and
improved the error handling at DVB attach]
Signed-off-by: Jean-Francois Thibert <jfthibert@google.com>
Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Evgeny Plehov [Fri, 15 Nov 2013 19:43:33 +0000 (16:43 -0300)]
upstream: [media] dw2102: Use RC Core instead of the legacy RC (second edition)
Use RC Core instead of the legacy RC.
DVBWorld, TBS, TeVii, Prof hardware decode only NEC remotes (one byte code).
Geniatech hardware decode only RC5 (two bytes).
+ New keymap for Geniatech HDStar (SU3000).
Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Evgeny Plehov [Wed, 13 Nov 2013 23:53:59 +0000 (20:53 -0300)]
upstream: [media] dw2102: Geniatech T220 support
Support for Geniatech T220 DVB-T/T2/C USB stick.
Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Jonathan McCrohan [Mon, 21 Oct 2013 00:34:01 +0000 (21:34 -0300)]
upstream: [media] media_tree: Fix spelling errors
Fix various spelling errors in strings and comments throughout the media
tree. The majority of these were found using Lucas De Marchi's codespell
tool.
[m.chehab@samsung.com: discard hunks with conflicts]
Signed-off-by: Jonathan McCrohan <jmccrohan@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/media/dvb-frontends/drxk_hard.c
drivers/media/i2c/adv7842.c
drivers/media/i2c/s5c73m3/s5c73m3-core.c
Ricardo Ribalda [Tue, 26 Nov 2013 12:58:44 +0000 (09:58 -0300)]
upstream: [media] videobuf2-dma-sg: Support io userptr operations on io memory
Memory exported via remap_pfn_range cannot be remapped via
get_user_pages.
Other videobuf2 methods (like the dma-contig) supports io memory.
This patch adds support for this kind of memory.
v2: Comments by Marek Szyprowski
-Use vb2_get_vma and vb2_put_vma
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/media/v4l2-core/videobuf2-dma-sg.c
Georg Kaindl [Mon, 21 Oct 2013 15:01:36 +0000 (12:01 -0300)]
upstream: [media] usbtv: Add support for PAL video source
Signed-off-by: Georg Kaindl <gkaindl@mac.com>
Tested-by: Lubomir Rintel <lkundrak@v3.sk>
Tested-by: Marcin Nowak <marcin.nowak@simplusnet.pl>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Thu, 8 Aug 2013 22:41:06 +0000 (19:41 -0300)]
upstream: [media] af9035: add [0413:6a05] Leadtek WinFast DTV Dongle Dual
It is IT9135 dual design.
Thanks to Michael Piko for reporting that!
Reported-by: Michael Piko <michael@piko.com.au>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: stable@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/media/usb/dvb-usb-v2/af9035.c
Antti Palosaari [Wed, 30 Oct 2013 05:33:42 +0000 (02:33 -0300)]
upstream: [media] rtl28xxu: add 15f4:0131 Astrometa DVB-T2
Components are RTL2832P + R828D + MN88472.
Currently support only DVB-T as there is no driver for MN88472 demod.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Valentine Barshak [Fri, 4 Oct 2013 14:20:52 +0000 (11:20 -0300)]
upstream: [media] media: rcar_vin: Add preliminary r8a7790 support
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Vladimir Barinov [Thu, 25 Jul 2013 20:23:10 +0000 (17:23 -0300)]
upstream: [media] V4L2: soc_camera: Renesas R-Car VIN driver
Add Renesas R-Car VIN (Video In) V4L2 driver.
Based on the patch by Phil Edworthy <phil.edworthy@renesas.com>.
[Sergei: removed deprecated IRQF_DISABLED flag, reordered/renamed 'enum chip_id'
values, reordered rcar_vin_id_table[] entries, removed senseless parens from
to_buf_list() macro, used ALIGN() macro in rcar_vin_setup(), added {} to the
*if* statement and used 'bool' values instead of 0/1 where necessary, removed
unused macros, done some reformatting and clarified some comments.]
Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Fri, 4 Oct 2013 14:01:45 +0000 (11:01 -0300)]
upstream: [media] drxk_hard: fix sparse warnings
drivers/media/dvb-frontends/drxk_hard.c:1086:62: warning: Using plain integer as NULL pointer
drivers/media/dvb-frontends/drxk_hard.c:2784:63: warning: Using plain integer as NULL pointer
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Reviewed-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Masanari Iida [Sun, 29 Sep 2013 11:54:15 +0000 (20:54 +0900)]
upstream: treewide: Fix typo in Kconfig
Correct spelling typo in Kconfig.
Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Conflicts:
arch/arm/mach-sti/Kconfig
drivers/fmc/Kconfig
Ondrej Zary [Fri, 30 Aug 2013 20:54:24 +0000 (17:54 -0300)]
upstream: [media] gspca: Support variable resolution
Add variable resolution support to gspca by allowing subdrivers to
specify try_fmt and enum_framesizes functions.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/media/usb/gspca/gspca.c
Marek Szyprowski [Wed, 19 Jun 2013 11:56:46 +0000 (08:56 -0300)]
upstream: [media] videobuf2-dc: Fix support for mappings without struct page in userptr mode
Earlier version of dma-contig allocator in user ptr mode assumed that in
all cases DMA address equals physical address. This was just a special case.
Commit
e15dab752d4c588544ccabdbe020a7cc092e23c8 introduced correct support
for converting userpage to dma address, but unfortunately it broke the
support for simple dma address = physical address for the case, when given
physical frame has no struct page associated with it (this happens if one
use for example dma_declare_coherent api or other reserved memory approach).
This commit restores support for such cases.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[s.nawrocki@samsung.com: replaced #elsif with #elif]
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/media/v4l2-core/videobuf2-dma-contig.c
Hans Verkuil [Mon, 19 Aug 2013 11:38:29 +0000 (08:38 -0300)]
upstream: [media] v4l2-dv-timings: fill in type field
The detect_cvt/gtf functions didn't fill in the type field.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Thu, 15 Aug 2013 11:28:47 +0000 (08:28 -0300)]
upstream: [media] v4l2-dv-timings: rename v4l_match_dv_timings to v4l2_match_dv_timings
It's the only function in v4l2-dv-timings.c with the v4l prefix instead
of v4l2. Make it consistent with the other functions.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Thu, 15 Aug 2013 11:02:40 +0000 (08:02 -0300)]
upstream: [media] v4l2-dv-timings: add v4l2_print_dv_timings helper
Drivers often have to log the contents of a dv_timings struct. Adding
this helper will make it easier for drivers to do so.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Martin Bugge [Wed, 14 Aug 2013 07:58:38 +0000 (04:58 -0300)]
upstream: [media] v4l2-dv-timings: fix CVT calculation
This patch fixes two errors that caused incorrect format detections:
The first bug is in the calculation of the vertical backporch: the combined
period of vsync and backporch must *exceed* a certain minimum value, and not
be equal to it.
The second bug is a rounding error in the reduced blanking calculation:
expand the ideal_duty_cylce to be in parts per ten thousand to avoid
rounding errors.
Signed-off-by: Martin Bugge <marbugge@cisco.com>
Cc: Mats Randgaard <matrandg@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 29 Jul 2013 11:40:56 +0000 (08:40 -0300)]
upstream: [media] v4l2: move dv-timings related code to v4l2-dv-timings.c
v4l2-common.c contained a bunch of dv-timings related functions.
Move that to the new v4l2-dv-timings.c which is a more appropriate
place for them.
There aren't many drivers that do HDTV, so it is a good idea to separate
common code related to that into a module of its own.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/media/i2c/ths8200.c
Lubomir Rintel [Tue, 2 Jul 2013 10:56:39 +0000 (07:56 -0300)]
upstream: [media] usbtv: Throw corrupted frames away
Ignore out of order data and mark incomplete buffers as errored.
This gets rid of annoying flicker due to occassional garbage from hardware.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-media@vger.kernel.org
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
drivers/media/usb/usbtv/usbtv.c
Lubomir Rintel [Tue, 2 Jul 2013 10:56:38 +0000 (07:56 -0300)]
upstream: [media] usbtv: Fix deinterlacing
The image data is laid out a bit more weirdly and thus needs more work to
properly interlace. What we get from hardware is V4L2_FIELD_ALTERNATE, but
since userspace support for it is practically nonexistent, thus we make
V4L2_FIELD_INTERLACED from it so that it's more easily interpreted.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Cc: stable@vger.kernel.org
Hans Verkuil [Wed, 29 May 2013 09:22:02 +0000 (06:22 -0300)]
upstream: cx88: fix register mask
Ensure that the register is aligned to a dword, otherwise the read could
read out-of-range data.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 28 Apr 2013 14:47:50 +0000 (11:47 -0300)]
upstream: [media] drxk_hard: remove needless parenthesis
X-Patchwork-Delegate: mchehab@redhat.com
There are several places where: state->var = (some_var)
The parenthesis there are doing nothing but making it
harder to read and breaking the 80 columns soft limits.
Just get rid of it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 28 Apr 2013 14:47:48 +0000 (11:47 -0300)]
upstream: [media] drxk_hard.h: Remove some alien comment markups
X-Patchwork-Delegate: mchehab@redhat.com
The comments markup language used on Kernel is defined at:
Documentation/kernel-doc-nano-HOWTO.txt
Remove invalid markups from the header file.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 28 Apr 2013 14:47:46 +0000 (11:47 -0300)]
upstream: [media] drxk_hard: don't split strings across lines
X-Patchwork-Delegate: mchehab@redhat.com
WARNING: quoted string split across lines
#5416: FILE: media/dvb-frontends/drxk_hard.c:5416:
+ dprintk(1, "Could not set demodulator parameters. Make "
+ "sure qam_demod_parameter_count (%d) is correct for "
WARNING: quoted string split across lines
#5423: FILE: media/dvb-frontends/drxk_hard.c:5423:
+ dprintk(1, "Auto-probing the correct QAM demodulator command "
+ "parameters was successful - using %d parameters.\n",
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Sun, 28 Apr 2013 14:47:44 +0000 (11:47 -0300)]
upstream: [media] drxk_hard: Don't use CamelCase
X-Patchwork-Delegate: mchehab@redhat.com
Thare are lots of CamelCase warnings produced by checkpatch.pl.
This weren't fixed at the time the driver got submitted due
to the lack of manpower do to such cleanup.
Now that I have one script that automates this task, cleans
it. That makes the driver almost checkpatch-compliant,
except for 80 column warnings.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Conflicts:
drivers/media/dvb-frontends/drxk_hard.c
Antti Palosaari [Tue, 4 Jun 2013 22:43:30 +0000 (19:43 -0300)]
upstream: [media] rtl28xxu: correct latest device name
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Alessandro Miceli [Tue, 4 Jun 2013 19:10:34 +0000 (16:10 -0300)]
upstream: [media] Add support for Crypto Redi PC50A device (rtl2832u + FC0012 tuner)
The device has been tested on a MIPSel box with kernel 3.1.1 and backported media_tree drivers
The kernel detects the device with the following output:
usbcore: registered new interface driver dvb_usb_rtl28xxu
usb 1-2: dvb_usb_v2: found a 'Crypto Redi PC50A' in warm state
usb 1-2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
DVB: registering new adapter (Crypto Redi PC50A)
usb 1-2: DVB: registering adapter 1 frontend 0 (Realtek RTL2832 (DVB-T))...
i2c i2c-4: fc0012: Fitipower FC0012 successfully identified
usb 1-2: dvb_usb_v2: 'Crypto Redi PC50A' successfully initialized and connected
[crope@iki.fi: fix trivial merge conflict]
Signed-off-by: Alessandro Miceli <angelofsky1980@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Antti Palosaari [Tue, 4 Jun 2013 21:26:54 +0000 (18:26 -0300)]
upstream: [media] rtl28xxu: use masked reg write where possible
Use masked register write inside rtl2832u_power_ctrl().
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Antti Palosaari [Tue, 4 Jun 2013 12:17:03 +0000 (09:17 -0300)]
upstream: [media] rtl28xxu: reimplement rtl2832u remote controller
Thanks to Rodrigo for original implementation!
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Rodrigo Tartajo [Sat, 20 Apr 2013 23:02:12 +0000 (20:02 -0300)]
upstream: [media] rtl2832u: restore ir remote control support
Hi,
This patch uses the driver from openpli[1] as a template to restore the remote control support.
I had to divert from the original to use the in kernel rc protocol decoder. The key repetition does,
not seem to work but I cant find the problem in the driver. As a raw rc provider, no key table is
hardcoded.
Rodrigo.
[1]: https://aur.archlinux.org/packages/dvb-usb-rtl2832u-openpli/?comments=all
Signed-off-by: Rodrigo Tartajo <rtarty@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Ondrej Zary [Sun, 14 Apr 2013 20:26:21 +0000 (17:26 -0300)]
upstream: [media] bttv: Add CyberVision CV06
Add CyberVision CV06 4-camera card (from CyberVision SV card kit):
http://www.cybervision.com.tw/products-swcard_kits-sv.html
There are some interesting things on the card but they're not supported:
4 LEDs, a connector with 4 IN and 4 OUT pins, RESET IN and RESET OUT
connectors, a relay and CyberVision CV8088-SV16 chip
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Mauro Carvalho Chehab [Wed, 14 May 2014 02:02:14 +0000 (23:02 -0300)]
upstream: saa7134-alsa: include vmalloc.h
Changeset
15e64f0dde77 broke compilation on several archs, as it
forgot to include vmalloc.h.
drivers/media/pci/saa7134/saa7134-alsa.c: In function ‘saa7134_alsa_dma_init’:
CC [M] drivers/media/rc/keymaps/rc-behold-columbus.o
drivers/media/pci/saa7134/saa7134-alsa.c:283:2: error: implicit declaration of function ‘vmalloc_32’ [-Werror=implicit-function-declaration]
dma->vaddr = vmalloc_32(nr_pages << PAGE_SHIFT);
^
drivers/media/pci/saa7134/saa7134-alsa.c:283:13: warning: assignment makes pointer from integer without a cast [enabled by default]
dma->vaddr = vmalloc_32(nr_pages << PAGE_SHIFT);
^
drivers/media/pci/saa7134/saa7134-alsa.c:296:2: error: implicit declaration of function ‘vzalloc’ [-Werror=implicit-function-declaration]
dma->sglist = vzalloc(dma->nr_pages * sizeof(*dma->sglist));
^
drivers/media/pci/saa7134/saa7134-alsa.c:296:14: warning: assignment makes pointer from integer without a cast [enabled by default]
dma->sglist = vzalloc(dma->nr_pages * sizeof(*dma->sglist));
^
drivers/media/pci/saa7134/saa7134-alsa.c:310:2: error: implicit declaration of function ‘vfree’ [-Werror=implicit-function-declaration]
vfree(dma->sglist);
Add it to avoid such breakages.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 17 Feb 2014 11:44:13 +0000 (08:44 -0300)]
upstream: [media] tw9910: add g_tvnorms video op
Report to soc_camera which standards are supported by tw9910.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 17 Feb 2014 11:44:12 +0000 (08:44 -0300)]
upstream: [media] v4l2-subdev.h: add g_tvnorms video op
While there was already a g_tvnorms_output video op, it's counterpart for
video capture was missing. Add it.
This is necessary for generic bridge drivers like soc-camera to set the
video_device tvnorms field correctly. Otherwise ENUMSTD cannot work.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 17 May 2013 15:32:46 +0000 (12:32 -0300)]
upstream: [media] v4l: Add 12-bit YUV 4:2:2 media bus pixel codes
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 17 May 2013 15:32:46 +0000 (12:32 -0300)]
upstream: [media] v4l: Add 12-bit YUV 4:2:0 media bus pixel codes
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 17 May 2013 15:32:46 +0000 (12:32 -0300)]
upstream: [media] v4l: Add UYVY10_1X20 and VYUY10_1X20 media bus pixel codes
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 17 May 2013 15:32:46 +0000 (12:32 -0300)]
upstream: [media] v4l: Add UYVY10_2X10 and VYUY10_2X10 media bus pixel codes
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Fri, 20 Dec 2013 13:20:26 +0000 (10:20 -0300)]
upstream: [media] v4l: Remove documentation for nonexistend input field in v4l2_buffer
The input field in struct v4l2_buffer no longer exists but has been replaced
by a reserved field. Remove the field documentation.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Wed, 18 Dec 2013 11:40:28 +0000 (08:40 -0300)]
upstream: [media] v4l: V4L2_MBUS_FRAME_DESC_FL_BLOB is about 1D DMA
V4L2_MBUS_FRAME_DESC_FL_BLOB intends to say the receiver must use 1D DMA to
receive the image, as the format does not have line offsets. This typically
includes all compressed formats.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Thu, 12 Dec 2013 12:36:46 +0000 (09:36 -0300)]
upstream: [media] v4l: Only get module if it's different than the driver for v4l2_dev
When the sub-device is registered, increment the use count of the sub-device
owner only if it's different from the owner of the driver for the media
device. This avoids increasing the use count by the module itself and thus
making it possible to unload it when it's not in use.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Thu, 12 Dec 2013 15:38:17 +0000 (12:38 -0300)]
upstream: [media] media: Use a better owner for the media device
mdev->fops->owner is actually the owner of the very same module which
implements media_device_register(), so it can't be unloaded anyway. Instead,
use THIS_MODULE through a macro as does video_register_device().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Tue, 1 Apr 2014 12:58:19 +0000 (09:58 -0300)]
upstream: [media] smiapp: Use %u for printing u32 value
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Thu, 10 Apr 2014 13:08:59 +0000 (10:08 -0300)]
upstream: [media] smiapp: Define macros for obtaining properties of register definitions
The register address, width and flags are encoded as a 32-bit value. Add
macros for obtaining these separately. Use the macros in register access
functions.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Tue, 1 Apr 2014 11:37:38 +0000 (08:37 -0300)]
upstream: [media] smiapp: Add register diversion quirk
Add a quirk for diverting registers for on some sensors, even the standard
registers are not where they can be expected to be found. Add a quirk to
to help using such sensors.
smiapp_write_no_quirk() and smiapp_read_no_quirk() functions are provided
for the use of quirk implementations.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Tue, 8 Apr 2014 21:18:10 +0000 (18:18 -0300)]
upstream: [media] smiapp: Make PLL (quirk) flags a function
This is more flexible. Quirk flags may be affected by configuration.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Tue, 8 Apr 2014 21:14:42 +0000 (18:14 -0300)]
upstream: [media] smiapp: Make PLL flags unsigned long
No reason to keep this u8, really.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Wed, 12 Feb 2014 13:33:51 +0000 (10:33 -0300)]
upstream: [media] smiapp: Make PLL flags separate from regular quirk flags
It doesn't make sense to just copy the information to the PLL flags. Add a
new fields for the quirks to contain the PLL flags.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Wed, 26 Mar 2014 16:34:29 +0000 (13:34 -0300)]
upstream: [media] smiapp: Use I2C adapter ID and address in the sub-device name
The sub-device names should be unique. Should two identical sensors be
present in the same media device they would be indistinguishable. The names
will change e.g. from "vs6555 pixel array" to "vs6555 1-0010 pixel array".
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Fri, 11 Apr 2014 09:30:18 +0000 (06:30 -0300)]
upstream: [media] smiapp: Add a macro for constructing 8-bit quirk registers
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Sat, 12 Apr 2014 19:41:12 +0000 (16:41 -0300)]
upstream: [media] smiapp: Fix determining the need for 8-bit read access
8-bit reads are needed in some cases; however the condition used was wrong.
Regular access (register width) was used if:
len == SMIAPP_REG_8BIT && !only8
This causes 8-bit read access to be used always. The operator should be ||
instead: regular access can be used for 8-bit reads OR if allowed otherwise.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Fri, 11 Apr 2014 08:47:21 +0000 (05:47 -0300)]
upstream: [media] smiapp: Rename SMIA_REG to SMIAPP_REG for consistency
SMIAPP_REG_ is the common prefix used in the driver for register related
definitions. Use it consistently.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Sat, 12 Apr 2014 17:32:01 +0000 (14:32 -0300)]
upstream: [media] smiapp: Remove unused quirk register functionality
The quirk registers mechanism which allows register to have a static read
access value from the sensor specific quirks, is not used. Remove it. It is
to be replaced by a more generic register diversion quirk soon.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Thu, 17 Apr 2014 06:17:08 +0000 (03:17 -0300)]
upstream: [media] vb2: fix compiler warning
When compiling this for older kernels using the compatibility build
the compiler complains about uninitialized variables:
In file included from include/linux/kernel.h:20:0,
from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/input.h:13,
from /home/hans/work/build/media_build/v4l/compat.h:9,
from <command-line>:0:
/home/hans/work/build/media_build/v4l/videobuf2-core.c: In function 'vb2_mmap':
include/linux/dynamic_debug.h:60:9: warning: 'plane' may be used uninitialized in this function [-Wmaybe-uninitialized]
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); \
^
/home/hans/work/build/media_build/v4l/videobuf2-core.c:2381:23: note: 'plane' was declared here
unsigned int buffer, plane;
^
In file included from include/linux/kernel.h:20:0,
from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/input.h:13,
from /home/hans/work/build/media_build/v4l/compat.h:9,
from <command-line>:0:
include/linux/dynamic_debug.h:60:9: warning: 'buffer' may be used uninitialized in this function [-Wmaybe-uninitialized]
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); \
^
/home/hans/work/build/media_build/v4l/videobuf2-core.c:2381:15: note: 'buffer' was declared here
unsigned int buffer, plane;
^
While these warnings are bogus (the call to __find_plane_by_offset will
set buffer and plane), it doesn't hurt to initialize these variables.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Wed, 23 Apr 2014 00:36:32 +0000 (21:36 -0300)]
upstream: [media] si2168: relax demod lock checks a little
bit3 was not cleared always leaving driver reporting demod is not
fully locked. Do not check bit0 as it seems to be always 0.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Fri, 11 Apr 2014 01:00:50 +0000 (22:00 -0300)]
upstream: [media] si2168: Silicon Labs Si2168 DVB-T/T2/C demod driver
Silicon Labs Si2168 DVB-T/T2/C demod driver.
That driver version supports only DVB-T.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 7 Apr 2014 12:20:39 +0000 (09:20 -0300)]
upstream: [media] vb2: reject output buffers with V4L2_FIELD_ALTERNATE
This is not allowed by the spec and does in fact not make any sense.
Return -EINVAL if this is the case.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Pawel Osciak <pawel@osciak.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Tue, 8 Apr 2014 08:00:39 +0000 (05:00 -0300)]
upstream: [media] v4l2-dv-timings.h: add CEA-861-F 4K timings
Add the CEA-861-F timings for 3840x2160p24/25/30/50/60 and
4096x2160p24/25/30/50/60.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sun, 23 Mar 2014 06:37:25 +0000 (03:37 -0300)]
upstream: [media] staging: media: davinci: vpfe: release buffers in case start_streaming call back fails
this patch releases the buffer by calling vb2_buffer_done(),
with state marked as VB2_BUF_STATE_QUEUED if start_streaming()
call back fails.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sun, 23 Mar 2014 06:37:24 +0000 (03:37 -0300)]
upstream: [media] staging: media: davinci: vpfe: use v4l2_fh for priority handling
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mike Sampson [Mon, 24 Mar 2014 09:04:49 +0000 (06:04 -0300)]
upstream: [media] sn9c102_hv7131r: fix style warnings flagged by checkpatch.pl
Signed-off-by: Mike Sampson <mike@sambodata.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 11:39:24 +0000 (08:39 -0300)]
upstream: [media] media: davinci: vpfe: use v4l2_fh for priority handling
This patch migrates the vpfe driver to use v4l2_fh for
priority handling.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 10:57:59 +0000 (07:57 -0300)]
upstream: [media] media: davinci: vpbe: use v4l2_fh for priority handling
This patch migrates the vpbe driver to use v4l2_fh for
priority handling. This also fixes v4l2-compliance test.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 17 Mar 2014 12:54:23 +0000 (09:54 -0300)]
upstream: [media] v4l2-ioctl.c: fix sparse __user-related warnings
Fix the use of __user in the check_array_args() prototype: instead of
using 'void * __user *' you should use 'void __user **' for sparse to
understand this correctly.
This also required the use of __force in the '*kernel_ptr = user_ptr'
assignment.
Also replace a wrong cast (void *) with the correct one (void **)
in check_array_args().
This fixes these sparse warnings:
drivers/media/v4l2-core/v4l2-ioctl.c:2284:35: warning: incorrect type in assignment (different address spaces)
drivers/media/v4l2-core/v4l2-ioctl.c:2301:35: warning: incorrect type in assignment (different address spaces)
drivers/media/v4l2-core/v4l2-ioctl.c:2319:35: warning: incorrect type in assignment (different address spaces)
drivers/media/v4l2-core/v4l2-ioctl.c:2386:57: warning: incorrect type in argument 4 (different address spaces)
drivers/media/v4l2-core/v4l2-ioctl.c:2420:29: warning: incorrect type in assignment (different address spaces)
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 17 Mar 2014 12:54:19 +0000 (09:54 -0300)]
upstream: [media] v4l2-subdev.h: fix sparse error with v4l2_subdev_notify
The notify function is a void function, yet the v4l2_subdev_notify
define uses it in a ? : construction, which causes sparse warnings.
Replace the define by a static inline function and move it to
v4l2-device.h, which is where it belongs since it needs to know the
v4l2_device struct. This wasn't a problem when it was a define, but
as a static inline function this no longer compiles in v4l2-subdev.h.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Ismael Luceno [Fri, 14 Mar 2014 19:43:23 +0000 (16:43 -0300)]
upstream: [media] gspca_gl860: Clean up idxdata structs
Signed-off-by: Ismael Luceno <ismael.luceno@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Robert Butora [Mon, 24 Mar 2014 22:41:38 +0000 (19:41 -0300)]
upstream: [media] media/usb/gspca: Add support for Scopium astro webcam (0547:7303)
This patch does not modify existing drivers. It adds subdriver
to gspca for DTCS033 (Scopium) webcam for astrophotography.
The patch adds dtcs033.c and modifies Kconfig and Makefile.
Signed-off-by: Robert Butora <robert.butora.fi@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Jean Delvare [Fri, 11 Apr 2014 07:15:32 +0000 (04:15 -0300)]
upstream: [media] Prefer gspca_sonixb over sn9c102 for all devices
The sn9c102 driver is deprecated. It was moved to staging in
anticipation of its removal in a future kernel version. However, USB
devices 0C45:6024 and 0C45:6025 are still handled by sn9c102 when
both sn9c102 and gspca_sonixb are enabled.
We must migrate all the users of these devices to the gspca_sonixb
driver now, so that it gets sufficient testing before the sn9c102
driver is finally phased out.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sun, 23 Mar 2014 05:44:11 +0000 (02:44 -0300)]
upstream: [media] media: davinci: vpfe: make sure all the buffers unmapped and released
this patch makes sure that it terminates if any IO in
progress and also makes sure that all the buffers are unmapped.
It was observed that with several runs of application the application
sometimes failed to allocate memory, This patch makes sure it
all the buffers are released.
Using kmemleak it was found that buffer were not released, this patch
fixes following issue,
echo scan > /sys/kernel/debug/kmemleak
Kernel message reads:
memleak: 3 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
Then,
cat /sys/kernel/debug/kmemleak
unreferenced object 0xc564a480 (size 192):
comm "mttest", pid 764, jiffies
4294945878 (age 487.160s)
hex dump (first 32 bytes):
00 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........
00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d..........
backtrace:
[<
c00a98dc>] create_object+0x10c/0x28c
[<
c03ba8ec>] kmemleak_alloc+0x3c/0x70
[<
c00a67c0>] __kmalloc+0x11c/0x1d4
[<
c02b6f48>] __videobuf_alloc+0x1c/0x3c
[<
c02b6194>] videobuf_alloc_vb+0x38/0x80
[<
c02b6638>] __videobuf_mmap_setup+0x9c/0x108
[<
c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
[<
c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
[<
c02be2c4>] vpfe_reqbufs+0xcc/0x130
[<
c02aae90>] v4l_reqbufs+0x50/0x54
[<
c02aab54>] __video_do_ioctl+0x260/0x2c4
[<
c02a9dd4>] video_usercopy+0xf0/0x310
[<
c02aa008>] video_ioctl2+0x14/0x1c
[<
c02a562c>] v4l2_ioctl+0x104/0x14c
[<
c00bd320>] do_vfs_ioctl+0x80/0x2d0
[<
c00bd5b4>] SyS_ioctl+0x44/0x64
unreferenced object 0xc564ac00 (size 192):
comm "mttest", pid 764, jiffies
4294945878 (age 487.160s)
hex dump (first 32 bytes):
01 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........
00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d..........
backtrace:
[<
c00a98dc>] create_object+0x10c/0x28c
[<
c03ba8ec>] kmemleak_alloc+0x3c/0x70
[<
c00a67c0>] __kmalloc+0x11c/0x1d4
[<
c02b6f48>] __videobuf_alloc+0x1c/0x3c
[<
c02b6194>] videobuf_alloc_vb+0x38/0x80
[<
c02b6638>] __videobuf_mmap_setup+0x9c/0x108
[<
c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
[<
c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
[<
c02be2c4>] vpfe_reqbufs+0xcc/0x130
[<
c02aae90>] v4l_reqbufs+0x50/0x54
[<
c02aab54>] __video_do_ioctl+0x260/0x2c4
[<
c02a9dd4>] video_usercopy+0xf0/0x310
[<
c02aa008>] video_ioctl2+0x14/0x1c
[<
c02a562c>] v4l2_ioctl+0x104/0x14c
[<
c00bd320>] do_vfs_ioctl+0x80/0x2d0
[<
c00bd5b4>] SyS_ioctl+0x44/0x64
unreferenced object 0xc564a180 (size 192):
comm "mttest", pid 764, jiffies
4294945880 (age 487.140s)
hex dump (first 32 bytes):
02 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........
00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d..........
backtrace:
[<
c00a98dc>] create_object+0x10c/0x28c
[<
c03ba8ec>] kmemleak_alloc+0x3c/0x70
[<
c00a67c0>] __kmalloc+0x11c/0x1d4
[<
c02b6f48>] __videobuf_alloc+0x1c/0x3c
[<
c02b6194>] videobuf_alloc_vb+0x38/0x80
[<
c02b6638>] __videobuf_mmap_setup+0x9c/0x108
[<
c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
[<
c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
[<
c02be2c4>] vpfe_reqbufs+0xcc/0x130
[<
c02aae90>] v4l_reqbufs+0x50/0x54
[<
c02aab54>] __video_do_ioctl+0x260/0x2c4
[<
c02a9dd4>] video_usercopy+0xf0/0x310
[<
c02aa008>] video_ioctl2+0x14/0x1c
[<
c02a562c>] v4l2_ioctl+0x104/0x14c
[<
c00bd320>] do_vfs_ioctl+0x80/0x2d0
[<
c00bd5b4>] SyS_ioctl+0x44/0x64
Reported-by: Jimmy Ho <jimmygge@gmail.com>
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sun, 23 Mar 2014 05:16:46 +0000 (02:16 -0300)]
upstream: [media] staging: media: davinci: vpfe: make sure all the buffers are released
from commit-id:
b3379c6201bb3555298cdbf0aa004af260f2a6a4
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
This patch fixes following issue:
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpfe_video Tainted: G W 3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<
c0252e0c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpfe_release+0x60/0x230)
[<
c025a65c>] (vpfe_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpfe_video Tainted: G W 3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<
c0252c28>] (vb2_buffer_done) from [<
c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<
c0252e3c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpfe_release+0x60/0x230)
[<
c025a65c>] (vpfe_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a2 ]---
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 11:03:09 +0000 (08:03 -0300)]
upstream: [media] media: davinci: vpbe_display: fix releasing of active buffers
from commit-id:
b3379c6201bb3555298cdbf0aa004af260f2a6a4
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
This patch fixes following issue:
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpbe_display Tainted: G W 3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<
c0252e0c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpbe_display_release+0x60/0x230)
[<
c025a65c>] (vpbe_display_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpbe_display Tainted: G W 3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<
c0252c28>] (vb2_buffer_done) from [<
c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<
c0252e3c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpbe_display_release+0x60/0x230)
[<
c025a65c>] (vpbe_display_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a2 ]---
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 11:03:08 +0000 (08:03 -0300)]
upstream: [media] media: davinci: vpif_display: fix releasing of active buffers
from commit-id:
b3379c6201bb3555298cdbf0aa004af260f2a6a4
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
Also this patch moves the disabling of interrupts from relase() callback
to stop_streaming() callback as which needs to be done ideally.
This patch fixes following issue:
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_display Tainted: G W 3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<
c0252e0c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpif_release+0x60/0x230)
[<
c025a65c>] (vpif_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_display Tainted: G W 3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<
c0252c28>] (vb2_buffer_done) from [<
c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<
c0252e3c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpif_release+0x60/0x230)
[<
c025a65c>] (vpif_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a2 ]---
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 11:03:07 +0000 (08:03 -0300)]
upstream: [media] media: davinci: vpif_capture: fix releasing of active buffers
from commit-id:
b3379c6201bb3555298cdbf0aa004af260f2a6a4
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
Also this patch moves the disabling of interrupts from relase() callback
to stop_streaming() callback as which needs to be done ideally.
This patch fixes following issue:
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_capture Tainted: G W 3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<
c0252e0c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpif_release+0x60/0x230)
[<
c025a65c>] (vpif_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_capture Tainted: G W 3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<
c0252c28>] (vb2_buffer_done) from [<
c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<
c0252e3c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpif_release+0x60/0x230)
[<
c025a65c>] (vpif_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a2 ]---
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Mon, 7 Apr 2014 13:52:43 +0000 (10:52 -0300)]
upstream: [media] gpsca: remove the risk of a division by zero
As reported by Coverity, there's a potential risk of a division
by zero on some calls to jpeg_set_qual(), if quality is zero.
As quality can't be 0 or lower than that, adds an extra clause
to cover this special case.
Coverity reports: CID#
11922280, CID#
11922293, CID#
11922295
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Archit Taneja [Mon, 10 Mar 2014 06:24:01 +0000 (03:24 -0300)]
upstream: [media] v4l: ti-vpe: Set correct field parameter for output and capture buffers
The vpe driver wasn't setting the correct field parameter for dequed CAPTURE
type buffers for the case where the captured output is progressive.
Set the field to V4L2_FIELD_NONE for the completed destination buffers when
the captured output is progressive.
For OUTPUT type buffers, a queued buffer's field is forced to V4L2_FIELD_NONE
if the pixel format(configured through s_fmt for the buffer type
V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE specifies) the field type isn't interlaced.
If the pixel format specified was V4L2_FIELD_ALTERNATE, and the queued buffer's
field isn't V4L2_FIELD_TOP or V4L2_FIELD_BOTTOM, the vb2 buf_prepare op returns
an error.
This ensures compliance, and that the dequeued output and captured buffers
contain the field type that the driver used internally.
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Archit Taneja [Thu, 6 Mar 2014 10:07:47 +0000 (07:07 -0300)]
upstream: [media] v4l: ti-vpe: Use correct bus_info name for the device in querycap
The bus_info parameter in v4l2_capabilities expects a 'platform_' prefix. This
wasn't done in the driver and hence was breaking compliance. Update the bus_info
parameter accordingly.
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Archit Taneja [Wed, 5 Mar 2014 12:52:38 +0000 (09:52 -0300)]
upstream: [media] v4l: ti-vpe: report correct capabilities in querycap
querycap currently returns V4L2_CAP_VIDEO_M2M as a capability, this should be
V4L2_CAP_VIDEO_M2M_MPLANE instead, as the driver supports multiplanar formats.
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Archit Taneja [Wed, 12 Feb 2014 07:04:22 +0000 (04:04 -0300)]
upstream: [media] v4l: ti-vpe: Allow usage of smaller images
The minimum width and height for VPE input/output was kept as 128 pixels. VPE
doesn't have a constraint on the image height, it requires the image width to
be at least 16 bytes.
Change the minimum supported dimensions to 32x32. This allows us to de-interlace
qcif content. A smaller image size than 32x32 didn't make much sense, so stopped
at this.
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Archit Taneja [Tue, 18 Feb 2014 13:24:07 +0000 (10:24 -0300)]
upstream: [media] v4l: ti-vpe: Use video_device_release_empty
The video_device struct is currently embedded in the driver data struct vpe_dev.
A vpe_dev instance is allocated by the driver, and the memory for the vfd is a
part of this struct.
The v4l2 core, however, manages the removal of the vfd region, through the
video_device's .release() op, which currently is the helper
video_device_release. This causes memory corruption, and leads to issues when
we try to re-insert the vpe module.
Use the video_device_release_empty helper function instead.
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Archit Taneja [Wed, 15 Jan 2014 11:31:51 +0000 (08:31 -0300)]
upstream: [media] v4l: ti-vpe: Make sure in job_ready that we have the needed number of dst_bufs
VPE has a ctrl parameter which decides how many mem to mem transactions the
active job from the job queue can perform.
The driver's job_ready() made sure that the number of ready source buffers are
sufficient for the job to execute successfully. But it didn't make sure if
there are sufficient ready destination buffers in the capture queue for the
VPE output.
If the time taken by VPE to process a single frame is really slow, then it's
possible that we don't need to imply such a restriction on the dst queue, but
really fast transactions(small resolution, no de-interlacing) may cause us to
hit the condition where we don't have any free buffers for the VPE to write on.
Add the extra check in job_ready() to make sure we have the sufficient amount
of destination buffers.
Acked-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Malcolm Priestley [Tue, 25 Mar 2014 01:31:58 +0000 (22:31 -0300)]
upstream: [media] m88rs2000: fix sparse static warnings
fix the following warnings:
m88rs2000.c:300:16: warning: symbol 'm88rs2000_setup' was not declared. Should it be static?
m88rs2000.c:318:16: warning: symbol 'm88rs2000_shutdown' was not declared. Should it be static?
m88rs2000.c:328:16: warning: symbol 'fe_reset' was not declared. Should it be static?
m88rs2000.c:366:16: warning: symbol 'fe_trigger' was not declared. Should it be static?
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>