Commit Graph

275714 Commits

Author SHA1 Message Date
Laurent Pinchart c1026c580d [media] omap3isp: Clarify the clk_pol field in platform data
The field is used to select the polarity of the pixel clock signal.
"Inverted" and "non inverted" are bad descriptions, specify instead on
which clock edge the signals are sampled.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-20 09:31:00 -02:00
Laurent Pinchart bd0f2e6da7 [media] omap3isp: ccdc: Fix crash in HS/VS interrupt handler
The HS/VS interrupt handler needs to access the pipeline object. It
erronously tries to get it from the CCDC output video node, which isn't
necessarily included in the pipeline. This leads to a NULL pointer
dereference.

Fix the bug by getting the pipeline object from the CCDC subdev entity.

Reported-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-20 09:30:10 -02:00
Laurent Pinchart ec0cae7a56 [media] omap3isp: preview: Rename max output sizes defines
The maximum preview engine output size depends on the ISP revision, not
the OMAP revision. Rename the macros accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-20 09:28:39 -02:00
Michael Krufky 0d6ac1f8a5 [media] mxl111sf: absorb size_of_priv into *_STREAMING_CONFIG macros
absorb ".size_of_priv = sizeof(struct mxl111sf_adap_state)"
into *_STREAMING_CONFIG macros

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-20 09:26:53 -02:00
Mauro Carvalho Chehab 5183c13797 [media] budget-ci: Fix Hauppauge RC-5 IR support
Hauppauge RC-5 tables require the full scancodes. The code at budget-ci
handles it right, however, it request the rc-code to mask them with 0xff,
breaking support for some remote controllers.

Fix it by not selecting a scancode mask when the driver is on full_rc5 mode.

Reported-by: Brian May <brian@microcomaustralia.com.au>
Tested-by: Brian May <brian@microcomaustralia.com.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-17 22:15:02 -02:00
Manu Abraham bcc072756e [media] STV0900: Query DVB frontend delivery capabilities
Override default delivery system information provided by FE_GET_INFO, so
that applications can enumerate delivery systems provided by the frontend.

Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-12 15:04:34 -02:00
Manu Abraham 6bad3aeb8c [media] STV090x: Query DVB frontend delivery capabilities
Override default delivery system information provided by FE_GET_INFO, so
that applications can enumerate delivery systems provided by the frontend.

Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-12 15:04:22 -02:00
Manu Abraham 61d4f9c918 [media] STB0899: Query DVB frontend delivery capabilities
Override default delivery system information provided by FE_GET_INFO, so
that applications can enumerate delivery systems provided by the frontend.

Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-12 15:04:05 -02:00
Manu Abraham 6c7ef54774 [media] DVB: Docbook update for DTV_ENUM_DELSYS
Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-12 15:03:49 -02:00
Manu Abraham ba2780c796 [media] DVB: Query DVB frontend delivery capabilities
Currently, for any multi-standard frontend it is assumed that it just
 has a single standard capability. This is fine in some cases, but
 makes things hard when there are incompatible standards in conjuction.
 Eg: DVB-S can be seen as a subset of DVB-S2, but the same doesn't hold
 the same for DSS. This is not specific to any driver as it is, but a
 generic issue. This was handled correctly in the multiproto tree,
 while such functionality is missing from the v5 API update.

 http://www.linuxtv.org/pipermail/vdr/2008-November/018417.html

 Later on a FE_CAN_2G_MODULATION was added as a hack to workaround this
 issue in the v5 API, but that hack is incapable of addressing the
 issue, as it can be used to simply distinguish between DVB-S and
 DVB-S2 alone, or another X vs X2 modulation. If there are more systems,
 then you have a potential issue.

 An application needs to query the device capabilities before requesting
 any operation from the device.

Signed-off-by: Manu Abraham <abraham.manu@gmail.com>
Acked-by: Andreas Oberritter <obi@linuxtv.org>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-12 15:03:32 -02:00
Thomas Meyer e79c70e6e5 [media] pvrusb2: Use kcalloc instead of kzalloc to allocate array
The advantage of kcalloc is, that will prevent integer overflows which could
result from the multiplication of number of elements and size and it is also
a bit nicer to read.

The semantic patch that makes this change is available
in https://lkml.org/lkml/2011/11/25/107

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Acked-By: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-12 14:51:11 -02:00
Mauro Carvalho Chehab 56a8b9f181 [media] tm6000: Fix a warning at tm6000_ir_int_start()
drivers/media/video/tm6000/tm6000-input.c: In function ‘tm6000_ir_int_start’:
drivers/media/video/tm6000/tm6000-input.c:381:3: warning: ‘return’ with no value, in function returning non-void [-Wreturn-type]

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 12:20:49 -02:00
Kamil Debski a16fa71d6b [media] s5p-g2d: remove two unused variables from the G2D driver
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 12:02:47 -02:00
Haogang Chen 806e23e95f [media] uvcvideo: Fix integer overflow in uvc_ioctl_ctrl_map()
There is a potential integer overflow in uvc_ioctl_ctrl_map(). When a
large xmap->menu_count is passed from the userspace, the subsequent call
to kmalloc() will allocate a buffer smaller than expected.
map->menu_count and map->menu_info would later be used in a loop (e.g.
in uvc_query_v4l2_ctrl), which leads to out-of-bound access.

The patch checks the ioctl argument and returns -EINVAL for zero or too
large values in xmap->menu_count.

Signed-off-by: Haogang Chen <haogangchen@gmail.com>
[laurent.pinchart@ideasonboard.com Prevent excessive memory consumption]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-11 11:23:54 -02:00
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