8 years ago[media] Add driver for Siliconfile SR030PC30 VGA camera
Sylwester Nawrocki [Mon, 11 Oct 2010 16:33:57 +0000]
[media] Add driver for Siliconfile SR030PC30 VGA camera

Add an I2C/v4l2-subdev driver for Siliconfile SR030PC30 VGA
camera sensor with Image Signal Processor. SR030PC30 is
the low resolution camera sensor on Samsung Aquila boards.

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>

8 years ago[media] s5p-fimc: Add suport for FIMC on S5PC210 SoCs
Sylwester Nawrocki [Mon, 11 Oct 2010 16:19:27 +0000]
[media] s5p-fimc: Add suport for FIMC on S5PC210 SoCs

Enable FIMC operation on S5PC210 (S5PV310) SoCs. This a minimal
adaptation to obtain functionality of older FIMC IP revisions
(S5PC100, S5PC110) on S5PC210 SOcs.

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>

8 years ago[media] s5p-fimc: Add camera capture support
Sylwester Nawrocki [Thu, 7 Oct 2010 13:06:16 +0000]
[media] s5p-fimc: Add camera capture support

Add a video device driver per each FIMC entity to support
the camera capture input mode. Video capture node is registered
only if CCD sensor data is provided through driver's platfrom data
and board setup code.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] s5p-fimc: Do not lock both buffer queues in s_fmt
Sylwester Nawrocki [Tue, 28 Sep 2010 17:19:26 +0000]
[media] s5p-fimc: Do not lock both buffer queues in s_fmt

It is not necessary to lock both capture and output buffer queue while
setting format for single queue.

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>

8 years ago[media] s5p-fimc: Fix 90/270 deg rotation errors
Sylwester Nawrocki [Fri, 8 Oct 2010 08:01:22 +0000]
[media] s5p-fimc: Fix 90/270 deg rotation errors

Due to errorneous swapping of image dimensions the rotation
control was not handled properly in subsequent calls.

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>

8 years ago[media] s5p-fimc: mem2mem driver refactoring and cleanup
Sylwester Nawrocki [Fri, 8 Oct 2010 08:01:14 +0000]
[media] s5p-fimc: mem2mem driver refactoring and cleanup

Register access functions refactored for camera capture interface
control. Removed the workqueue since it was only useful for FIFO
output mode which is not supported at this time.
Fixed errors on module unload. Comments and whitespace cleanup.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] s5p-fimc: Register definition cleanup
Sylwester Nawrocki [Tue, 28 Sep 2010 08:49:11 +0000]
[media] s5p-fimc: Register definition cleanup

Add MIPI CSI format definitions, prepare DMA address
definitions for interlaced input frame mode.

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>

8 years ago[media] V4L: sh_mobile_ceu_camera: use default .get_parm() and .set_parm() operations
Guennadi Liakhovetski [Wed, 6 Oct 2010 07:04:10 +0000]
[media] V4L: sh_mobile_ceu_camera: use default .get_parm() and .set_parm() operations

No need to duplicate default .get_parm() and .set_parm() operations.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: add an IMX074 sensor soc-camera / v4l2-subdev driver
Guennadi Liakhovetski [Tue, 5 Oct 2010 15:33:25 +0000]
[media] V4L: add an IMX074 sensor soc-camera / v4l2-subdev driver

This patch adds an initial driver for the IMXъ74 image sensor from Sony.
Lacking documentation, only very basic functionality in one specific image
format has been implemented and tested.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: add IMX074 sensor chip ID
Guennadi Liakhovetski [Tue, 5 Oct 2010 15:32:41 +0000]
[media] V4L: add IMX074 sensor chip ID

Chip identification register contains the value 0x74.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] SoC Camera: add support for g_parm / s_parm operations
Janusz Krzysztofik [Sat, 11 Sep 2010 01:26:16 +0000]
[media] SoC Camera: add support for g_parm / s_parm operations

This patch adds support for g_parm / s_parm operations to the SoC Camera
framework. It is usefull for checking/setting camera frame rate.

Example usage can be found in the previous patch from this series,
"SoC Camera: add driver for OV6650 sensor".

Created and tested against linux-2.6.36-rc3 on Amstrad Delta.

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>

8 years ago[media] SoC Camera: add driver for OV6650 sensor
Janusz Krzysztofik [Tue, 5 Oct 2010 14:52:45 +0000]
[media] SoC Camera: add driver for OV6650 sensor

This patch provides a V4L2 SoC Camera driver for OV6650 camera sensor, found
on OMAP1 SoC based Amstrad Delta videophone.

Since I have no experience with camera sensors, and the sensor documentation I
was able to find was not very comprehensive, I left most settings at their
default (reset) values, except for:
- those required for proper mediabus parameters and picture geometry and
  format setup,
- those used by controls.
Resulting picture quality may be far from perfect, but better than nothing.

In order to be able to get / set the sensor frame rate from userspace, I
decided to provide two not yet SoC camera supported operations, g_parm and
s_parm. These can be used after applying patch 4/6 from this series,
"SoC Camera: add support for g_parm / s_parm operations".

Created and tested against linux-2.6.36-rc5 on Amstrad Delta.

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>

8 years ago[media] SoC Camera: add driver for OMAP1 camera interface
Janusz Krzysztofik [Thu, 30 Sep 2010 11:35:49 +0000]
[media] SoC Camera: add driver for OMAP1 camera interface

This is a V4L2 driver for TI OMAP1 SoC camera interface.

Both videobuf-dma versions are supported, contig and sg, selectable with a
module option. The former uses less processing power, but often fails to
allocate contignuous buffer memory. The latter is free of this problem, but
generates tens of DMA interrupts per frame. If contig memory allocation ever
fails, the driver falls back to sg automatically on next open, but still can
be switched back to contig manually. Both paths work stable for me, even
under heavy load, on my OMAP1510 based Amstrad Delta videophone, that is the
oldest, least powerfull OMAP1 implementation.

The interface generally works in pass-through mode. Since input data byte
endianess can be swapped, it provides up to two v4l2 pixel formats per each of
several soc_mbus formats that have their swapped endian counterparts.

Boards using this driver can provide it with the following platform data:
- if and what freqency clock is expected by an on-board camera sensor,
- what is the maximum pixel clock that should be accepted from the sensor,
- what is the polarity of the sensor provided pixel clock,
- if the interface GPIO line is connected to a sensor reset/powerdown input
  and what is the input polarity.

Created and tested against linux-2.6.36-rc5 on Amstrad Delta.

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>

8 years ago[media] v4l2-mediabus: Add pixelcodes for BGR565 formats
Sascha Hauer [Tue, 3 Aug 2010 10:57:47 +0000]
[media] v4l2-mediabus: Add pixelcodes for BGR565 formats

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] mt9m111: changed MIN_DARK_COLS to MT9M131 spec count
Michael Grzeschik [Tue, 3 Aug 2010 10:57:43 +0000]
[media] mt9m111: changed MIN_DARK_COLS to MT9M131 spec count

Signed-off-by: Philipp Wiesner <p.wiesner@phytec.de>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Removed use of the BKL
Steven Toth [Thu, 7 Oct 2010 00:52:22 +0000]
[media] saa7164: Removed use of the BKL

Remove usage of the BKL and instead used video_set_drvdata() during
open fops.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Remove V4L2_CAP_STREAMING capability flag
Steven Toth [Thu, 7 Oct 2010 00:50:55 +0000]
[media] saa7164: Remove V4L2_CAP_STREAMING capability flag

Remove V4L2_CAP_STREAMING capability flag, we don't support
the ioctls. It breaks VLC otherwise.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Fix the -E{*} returns in the VBI device as well
Gavin Hurlbut [Thu, 30 Sep 2010 21:21:20 +0000]
[media] Fix the -E{*} returns in the VBI device as well

Signed-off-by: Gavin Hurlbut <gjhurlbu@gmail.com>
Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Fix the negative -E{BLAH} returns from fops_read
Gavin Hurlbut [Wed, 29 Sep 2010 18:18:20 +0000]
[media] Fix the negative -E{BLAH} returns from fops_read

Signed-off-by: Gavin Hurlbut <gjhurlbu@gmail.com>
Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Change the second input names to include " 2" to distinguish them
Gavin Hurlbut [Tue, 28 Sep 2010 02:50:43 +0000]
[media] Change the second input names to include " 2" to distinguish them

Signed-off-by: Gavin Hurlbut <gjhurlbu@gmail.com>
Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7134: Fix lots os spaces at the wrong places
Mauro Carvalho Chehab [Mon, 11 Oct 2010 20:39:06 +0000]
[media] saa7134: Fix lots os spaces at the wrong places

There are lots of checkpatch complains about:

ERROR: space prohibited after that open parenthesis '('
ERROR: space prohibited after that open square bracket '['
ERROR: space prohibited before that close parenthesis ')'
ERROR: space prohibited before that close square bracket ']'

This script should fix all of them:

for i in drivers/media/video/saa7164/*.[ch]; do cat $i|perl -ne 's/\[\ +(.*)/[$1/; s/\ +\]/$1\]/g; s/\(\ +(.*)/($1/g; s/\ +\)/$1)/g; print $_;' >a && mv a $i; done

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Don't use typedefs
Mauro Carvalho Chehab [Mon, 11 Oct 2010 20:17:45 +0000]
[media] saa7164: Don't use typedefs

According with CodingStyle, drivers shouldn't use typedef, except on very
special cases. This is not the case of saa7164. So, convert all usecases
to struct/enum.

After changing the saa7164-types.h, all we need to do is to run those scripts
to fix all occurrences of the bad types and double check/fix everything that
might be broken after the test (of course, I did a small script to generate those scripts).

for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmBusType_t/enum tmBusType/; print " \>a \&\& mv a tmBusType; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResCmd_t/enum tmComResCmd/; print " \>a \&\& mv a tmComResCmd; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResTermType_t/enum tmComResTermType/; print " \>a \&\& mv a tmComResTermType; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmBufferFlag_t/enum tmBufferFlag/; print " \>a \&\& mv a tmBufferFlag; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResHWDescr_t/struct tmComResHWDescr/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResInterfaceDescr_t/struct tmComResInterfaceDescr/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResBusDescr_t/struct tmComResBusDescr/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmBusType_t/struct tmBusType/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResBusInfo_t/struct tmComResBusInfo/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResInfo_t/struct tmComResInfo/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResCmd_t/struct tmComResCmd/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmDescriptor_t/struct tmDescriptor/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResDescrHeader_t/struct tmComResDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResExtDevDescrHeader_t/struct tmComResExtDevDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResGPIO_t/struct tmComResGPIO/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResPathDescrHeader_t/struct tmComResPathDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResTermType_t/struct tmComResTermType/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResAntTermDescrHeader_t/struct tmComResAntTermDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResTunerDescrHeader_t/struct tmComResTunerDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmBufferFlag_t/struct tmBufferFlag/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmBuffer_t/struct tmBuffer/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmHWStreamParameters_t/struct tmHWStreamParameters/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmStreamParameters_t/struct tmStreamParameters/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResDMATermDescrHeader_t/struct tmComResDMATermDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResTSFormatDescrHeader_t/struct tmComResTSFormatDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResSelDescrHeader_t/struct tmComResSelDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResProcDescrHeader_t/struct tmComResProcDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResEncVideoBitRate_t/struct tmComResEncVideoBitRate/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResEncVideoInputAspectRatio_t/struct tmComResEncVideoInputAspectRatio/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResEncVideoGopStructure_t/struct tmComResEncVideoGopStructure/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResEncoderDescrHeader_t/struct tmComResEncoderDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResAFeatureDescrHeader_t/struct tmComResAFeatureDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResAudioDefaults_t/struct tmComResAudioDefaults/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResEncAudioBitRate_t/struct tmComResEncAudioBitRate/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResTunerStandard_t/struct tmComResTunerStandard/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResTunerStandardAuto_t/struct tmComResTunerStandardAuto/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResPSFormatDescrHeader_t/struct tmComResPSFormatDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResVBIFormatDescrHeader_t/struct tmComResVBIFormatDescrHeader/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResProbeCommit_t/struct tmComResProbeCommit/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResDebugSetLevel_t/struct tmComResDebugSetLevel/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmComResDebugGetData_t/struct tmComResDebugGetData/g; print " $i >a && mv a $i; done
for i in drivers/media/video/saa7164/*.[ch]; do perl -ne "s/tmFwInfoStruct_t/struct tmFwInfoStruct/g; print " $i >a && mv a $i; done

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: fix a warning at some printk's on i386
Mauro Carvalho Chehab [Mon, 11 Oct 2010 19:26:04 +0000]
[media] saa7164: fix a warning at some printk's on i386

drivers/media/video/saa7164/saa7164-buffer.c: In function ‘saa7164_buffer_display’:
drivers/media/video/saa7164/saa7164-buffer.c:76: warning: cast to pointer from integer of different size
drivers/media/video/saa7164/saa7164-buffer.c:78: warning: cast to pointer from integer of different size

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Disable firmware debug message output
Steven Toth [Tue, 28 Sep 2010 01:36:40 +0000]
[media] saa7164: Disable firmware debug message output

... Also disable collection of messages via kernel thread.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Remove loud debugging during video_poll()
Steven Toth [Sun, 5 Sep 2010 17:49:15 +0000]
[media] saa7164: Remove loud debugging during video_poll()

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: bugfix, avoid oops when driver unloads without firmware
Steven Toth [Sun, 5 Sep 2010 14:24:50 +0000]
[media] saa7164: bugfix, avoid oops when driver unloads without firmware

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: saa7164-buffer.c line 274 bugfix
Steven Toth [Sun, 5 Sep 2010 12:49:43 +0000]
[media] saa7164: saa7164-buffer.c line 274 bugfix

Mark buffers free when the dvb dma engine stops.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Some whitespace cleanup
Steven Toth [Sat, 31 Jul 2010 19:51:23 +0000]
[media] saa7164: Some whitespace cleanup

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: fix vbi compiler warnings
Steven Toth [Sat, 31 Jul 2010 19:34:58 +0000]
[media] saa7164: fix vbi compiler warnings

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: change debug to saa_debug
Steven Toth [Sat, 31 Jul 2010 19:24:25 +0000]
[media] saa7164: change debug to saa_debug

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: monitor the RISC cpu load via a thread
Steven Toth [Sat, 31 Jul 2010 19:18:35 +0000]
[media] saa7164: monitor the RISC cpu load via a thread

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: collect/show the firmware debugging via a thread
Steven Toth [Sat, 31 Jul 2010 19:17:51 +0000]
[media] saa7164: collect/show the firmware debugging via a thread

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: enforce the march 10th firmware is used
Steven Toth [Sat, 31 Jul 2010 19:16:29 +0000]
[media] saa7164: enforce the march 10th firmware is used

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Monitor the command bus and check for inconsistencies
Steven Toth [Sat, 31 Jul 2010 19:15:22 +0000]
[media] saa7164: Monitor the command bus and check for inconsistencies

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: VBI irq cleanup and V4L VBI raw pitch adjustments
Steven Toth [Sat, 31 Jul 2010 19:10:02 +0000]
[media] saa7164: VBI irq cleanup and V4L VBI raw pitch adjustments

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: add firmware debug message collection and procfs changes
Steven Toth [Sat, 31 Jul 2010 19:08:52 +0000]
[media] saa7164: add firmware debug message collection and procfs changes

Check for PROCFS and dynamically adjust code.
Cache some PCIe values in the device context.
Provide a mechanism to collect the debug messages
coming from the firmware.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: add NTSC VBI support
Steven Toth [Sat, 31 Jul 2010 19:06:06 +0000]
[media] saa7164: add NTSC VBI support

IRQ handlers, firmware messages, deferred queue handlers, V4L api's
etc.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Add missing saa7164-vbi.c file
Steven Toth [Sat, 31 Jul 2010 19:34:19 +0000]
[media] saa7164: Add missing saa7164-vbi.c file

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: rename a structure for readability
Steven Toth [Sat, 31 Jul 2010 19:04:59 +0000]
[media] saa7164: rename a structure for readability

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Avoid spurious error after firmware starts
Steven Toth [Sat, 31 Jul 2010 19:03:55 +0000]
[media] saa7164: Avoid spurious error after firmware starts

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: New firmware changes, new size, new filename
Steven Toth [Sat, 31 Jul 2010 19:02:41 +0000]
[media] saa7164: New firmware changes, new size, new filename

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: allow DMA engine buffers to vary in size between analog and digital
Steven Toth [Sat, 31 Jul 2010 19:01:00 +0000]
[media] saa7164: allow DMA engine buffers to vary in size between analog and digital

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: code cleanup
Steven Toth [Sat, 31 Jul 2010 18:55:22 +0000]
[media] saa7164: code cleanup

Removed some previous debugging code, whitespace cleanup and
spurious comments.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: irqhandler cleanup and helper function added
Steven Toth [Sat, 31 Jul 2010 18:49:28 +0000]
[media] saa7164: irqhandler cleanup and helper function added

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: mundane buffer debugging changes to track issues
Steven Toth [Sat, 31 Jul 2010 18:29:34 +0000]
[media] saa7164: mundane buffer debugging changes to track issues

Code is removed in future patches in this set.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Implement resolution control firmware command
Steven Toth [Sat, 31 Jul 2010 18:28:18 +0000]
[media] saa7164: Implement resolution control firmware command

.. also fix a minor line 80 wrapping coding style issue.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: adjust the PS pack size handling to fill buffers 100%
Steven Toth [Sat, 31 Jul 2010 18:27:01 +0000]
[media] saa7164: adjust the PS pack size handling to fill buffers 100%

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: buffer crc checks and ensure we use the memcpy func
Steven Toth [Sat, 31 Jul 2010 18:13:45 +0000]
[media] saa7164: buffer crc checks and ensure we use the memcpy func

Buffer crc checks and ensure we use the correct PCIe IO memcpy func

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: add guard bytes around critical buffers to detect failure
Steven Toth [Sat, 31 Jul 2010 18:11:59 +0000]
[media] saa7164: add guard bytes around critical buffers to detect failure

If the guard bytes are trampled then we have a memory related problem.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: measure via histograms various irq and queue latencies
Steven Toth [Sat, 31 Jul 2010 18:10:52 +0000]
[media] saa7164: measure via histograms various irq and queue latencies

saa7164: measure via histograms various irq and queue latencies
Attempting to determine where buffering issues under high load are due
to highly latent irq or work queue handling.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: allow the number of encoder buffers to be user configurable
Steven Toth [Sat, 31 Jul 2010 18:09:25 +0000]
[media] saa7164: allow the number of encoder buffers to be user configurable

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: patches to monitor TS payload for inconsistencies
Steven Toth [Sat, 31 Jul 2010 18:06:49 +0000]
[media] saa7164: patches to monitor TS payload for inconsistencies

... and report errors to console. (Debugging a DMA buffering issue).
These are made optional in later patches.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: allow variable length GOP sizes and switch encoder default to CBR
Steven Toth [Sat, 31 Jul 2010 18:05:35 +0000]
[media] saa7164: allow variable length GOP sizes and switch encoder default to CBR

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: allow encoder output format to be user configurable
Steven Toth [Sat, 31 Jul 2010 18:03:31 +0000]
[media] saa7164: allow encoder output format to be user configurable

Allow PS and TS.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: implement encoder peak bitrate feature
Steven Toth [Sat, 31 Jul 2010 17:59:38 +0000]
[media] saa7164: implement encoder peak bitrate feature

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: allow the IBP reference distance to be configurable
Steven Toth [Sat, 31 Jul 2010 17:58:35 +0000]
[media] saa7164: allow the IBP reference distance to be configurable

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: add support for encoder CBR and VBR optionally
Steven Toth [Sat, 31 Jul 2010 17:51:30 +0000]
[media] saa7164: add support for encoder CBR and VBR optionally

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: generate a fixed kernel warning if the irq is 'late'
Steven Toth [Sat, 31 Jul 2010 17:50:46 +0000]
[media] saa7164: generate a fixed kernel warning if the irq is 'late'

Now we start to see a number of patches applied that are related
to debugging the driver. This patch is removed in the coming patches
as you start to see the irq handler evolve as I worked through the
DMA data corruption issues.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: allow the encoder GOP structure to be configured
Steven Toth [Sat, 31 Jul 2010 17:48:45 +0000]
[media] saa7164: allow the encoder GOP structure to be configured

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: command dequeue fixup to clean the bus after error
Steven Toth [Sat, 31 Jul 2010 17:47:36 +0000]
[media] saa7164: command dequeue fixup to clean the bus after error

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Implement encoder irq handling in a deferred work queue
Steven Toth [Sat, 31 Jul 2010 17:46:51 +0000]
[media] saa7164: Implement encoder irq handling in a deferred work queue

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: add various encoder message functions
Steven Toth [Sat, 31 Jul 2010 17:44:53 +0000]
[media] saa7164: add various encoder message functions

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: convert buffering structs to be more generic
Steven Toth [Sat, 31 Jul 2010 17:43:07 +0000]
[media] saa7164: convert buffering structs to be more generic

Current structs assume transport, making a number of changes to
switch to generic functions allowing a smoother integration
for the analog encoder.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: Add some encoder firmwares message types and structs
Steven Toth [Sat, 31 Jul 2010 17:41:09 +0000]
[media] saa7164: Add some encoder firmwares message types and structs

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7164: basic definitions for -encoder.c
Steven Toth [Sat, 31 Jul 2010 17:39:44 +0000]
[media] saa7164: basic definitions for -encoder.c

Add the skeleton file, update the build environment, copyrights.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] drivers/media/IR/ene_ir.c: fix NULL dereference
Jiri Slaby [Fri, 1 Oct 2010 21:13:40 +0000]
[media] drivers/media/IR/ene_ir.c: fix NULL dereference

When 'dev' allocation fails in ene_probe we jump to error label where we
dereference the 'dev'.  Fix it by jumping few lines below.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] drivers/media/dvb/ttpci/av7110_av.c: Add missing error handling code
Julia Lawall [Sat, 2 Oct 2010 13:59:15 +0000]
[media] drivers/media/dvb/ttpci/av7110_av.c: Add missing error handling code

Extend the error handling code with operations found in other nearby error
handling code.

A simplified version of the sematic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
@r@
statement S1,S2,S3;
constant C1,C2,C3;
@@

*if (...)
 {... S1 return -C1;}
...
*if (...)
 {... when != S1
    return -C2;}
...
*if (...)
 {... S1 return -C3;}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gp8psk: Add support for the Genpix Skywalker-2
Derek Kelly [Sat, 16 Oct 2010 17:23:51 +0000]
[media] gp8psk: Add support for the Genpix Skywalker-2

gp8psk: Add support for the Genpix Skywalker-2 per user requests.

Patched against git.

Signed-off-by: Derek Kelly <user.vdr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] i2c: Stop using I2C_CLASS_TV_DIGITAL
Jean Delvare [Wed, 13 Oct 2010 12:24:25 +0000]
[media] i2c: Stop using I2C_CLASS_TV_DIGITAL

Detection class I2C_CLASS_TV_DIGITAL is set by many adapters but no
I2C device driver is setting it anymore, which means it can be
dropped. I2C devices on digital TV adapters are instantiated
explicitly these days, which is much better.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] i2c: Stop using I2C_CLASS_TV_ANALOG
Jean Delvare [Wed, 13 Oct 2010 12:22:54 +0000]
[media] i2c: Stop using I2C_CLASS_TV_ANALOG

Detection class I2C_CLASS_TV_ANALOG is set by a few adapters but no
I2C device driver is setting it anymore, which means it can be
dropped. I2C devices on analog TV adapters are instantiated
explicitly these days, which is much better.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] tvp5150: COMPOSITE0 input should not force-enable TV mode
Paul Walmsley [Sat, 9 Oct 2010 04:31:40 +0000]
[media] tvp5150: COMPOSITE0 input should not force-enable TV mode

When digitizing composite video from a analog videotape source using the
TVP5150's first composite input channel, the captured stream exhibits
tearing and synchronization problems[1].

It turns out that commit c0477ad9feca01bd8eff95d7482c33753d05c700 caused
"TV mode" (as opposed to "VCR mode" or "auto-detect") to be forcibly
enabled for both composite inputs.  According to the chip
documentation[2], "TV mode" disables a "chrominance trap" input filter,
which appears to be necessary for high-quality video capture from an
analog videotape source.  [ Commit
c7c0b34c27bbf0671807e902fbfea6270c8f138d subsequently restricted the
problem to the first composite input, apparently inadvertently. ]

Since any type of composite signal source can be connected to the
TVP5150's first composite input, unconditionally forcing "TV mode" isn't
correct.  There doesn't appear to be a good way for applications to tell
the driver what is connected.  Fortunately, the TVP5150 has an operating
mode auto-detection feature, which, when enabled, should cause the TVP5150
to auto-detect whether it should use "VCR mode" or "TV mode".  Enabling
operating mode auto-detection improved video capture quality
significantly[3].

Therefore, fix this bug by using operating mode auto-detection. (Also,
while here, fix a CodingStyle issue.)

For those users who may find this patch via a mailing list archive but who
are not able to upgrade to a kernel with a fixed driver: the TVP5150's
S-Video and second composite input sources have auto-detection enabled, so
you may wish to try using those -- if available on your device -- until
this fix makes it a downstream distribution near you.

1. Pre-patch tvtime snapshot using a Pinnacle PCTV HD Pro as the
   capture device and a Sony EV-S2000 as a video source:
   http://www.booyaka.com/~paul/tvp5150/1a.png

2. Section 3.21.3, "Operation Mode Control Register", _TVP5150AM1
   Ultralow-Power NTSC/PAL/SECAM Video Decoder (Rev. D)_ [SLES209D],
   downloaded 8 October 2010, available via
   http://focus.ti.com/lit/ds/symlink/tvp5150am1.pdf

3. Post-patch tvtime snapshot (same signal chain as #1, above):
   http://www.booyaka.com/~paul/tvp5150/1b.png

Signed-off-by: Paul Walmsley <paul@booyaka.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR: ene_ir: few bugfixes
Maxim Levitsky [Fri, 15 Oct 2010 16:06:37 +0000]
[media] IR: ene_ir: few bugfixes

This is a result of last round of debug with
Sami R <maesesami@gmail.com>.

Thank you Sami very much!

The biggest bug I fixed is that,
I was clobbering the CIRCFG register after it is setup
That wasn't a good idea really

And some small refactoring, etc.

Tested-by: Sami R <maesesami@gmail.com>
Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR: extend and sort the MCE keymap
Maxim Levitsky [Fri, 15 Oct 2010 16:06:35 +0000]
[media] IR: extend and sort the MCE keymap

Add new keys, found on:

Toshiba Qosmio F50-10q.
Toshiba Qosmio X300
Toshiba A500-141

Also sort the keytable by scancode number as that makes sense
and alows easily to add new keycodes.

Thanks to:
Sami R <maesesami@gmail.com>
Alexander Skiba <ghostlyrics@gmail.com>
Jordi Pelegrin <pelegrin.jordi@gmail.com>

For reports and testing.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR/nuvoton: address all checkpatch.pl issues
Jarod Wilson [Fri, 15 Oct 2010 14:07:37 +0000]
[media] IR/nuvoton: address all checkpatch.pl issues

The driver was missing KERN_ facilities on a number of printks. The
register dump functions have been updated to use KERN_INFO, so that the
register dump gets logged in syslog (they only run on driver load, and
only when debug is enabled). The buffer dump routine now uses
KERN_DEBUG, as that spew will happen quite frequently (several times
every IR signal), and shouldn't need to be logged.

Also split up the small handful of lines that were just over 80
characaters, and fixed the ioctl.h include.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7134: add test after for loop
Dan Carpenter [Mon, 4 Oct 2010 19:28:01 +0000]
[media] saa7134: add test after for loop

Add a check after the for loops to see if we found what we were looking
for or if we reached the end of the list.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] vivi: Don't depend on FONTS
Ben Hutchings [Mon, 4 Oct 2010 01:18:11 +0000]
[media] vivi: Don't depend on FONTS

CONFIG_FONTS has nothing to do with whether find_font() is defined.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] drivers/media/video/cx23885/cx23885-core.c: fix cx23885_dev_checkrevision()
Andrew Morton [Fri, 1 Oct 2010 21:13:41 +0000]
[media] drivers/media/video/cx23885/cx23885-core.c: fix cx23885_dev_checkrevision()

It was missing the `break'.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=18672

Reported-by: Igor <i2g2r2@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR: ene_ir: updates
Maxim Levitsky [Mon, 6 Sep 2010 21:26:11 +0000]
[media] IR: ene_ir: updates

* Add support for newer firmware version that uses different
buffer format. Makes hardware work for many users.

* Register name updates

* Lot of refactoring

* Lots of fixes as a result of full testing

* Idle mode is done now by resetting the device, and this eliminates
the ugly sample_period = 75 hack.

Every feature of the driver is now well tested.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] ir: properly handle an error at input_register
Mauro Carvalho Chehab [Thu, 14 Oct 2010 20:49:33 +0000]
[media] ir: properly handle an error at input_register

Be sure to rollback all init if input register fails.

Cc: Maxim Levitsky <maximlevitsky@gmail.com>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR: make sure we register the input device when it is safe to do so
Maxim Levitsky [Mon, 6 Sep 2010 21:26:07 +0000]
[media] IR: make sure we register the input device when it is safe to do so

As soon as input device is registered, it might be accessed (and it is)
This can trigger a hardware interrupt that can access
not yet initialized ir->raw, (by sending a sample)

This can be reproduced by holding down a remote button and reloading the module.
And this always crashes the systems where hardware decides to send an interrupt
right at the moment it is enabled.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR: plug races in IR raw thread
Maxim Levitsky [Mon, 6 Sep 2010 21:26:06 +0000]
[media] IR: plug races in IR raw thread

Unfortunelly (my fault) the kernel thread that now handles IR processing
has classical races in regard to wakeup and stop.
This patch hopefully closes them all.
Tested with module reload running in a loop, while receiver is blasted
with IR data for 10 minutes.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Acked-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Add a todo file for staging/tm6000
Mauro Carvalho Chehab [Thu, 14 Oct 2010 20:35:48 +0000]
[media] Add a todo file for staging/tm6000

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] saa7134: port Asus P7131 Hybrid to use the new rc-core
Mauro Carvalho Chehab [Thu, 30 Sep 2010 17:46:47 +0000]
[media] saa7134: port Asus P7131 Hybrid to use the new rc-core

The rc map table were corrected thanks to Giorgio input and tests.

Reported-by: Giorgio Vazzana <mywing81@gmail.com>
Tested-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] firedtv: support for PSK8 for S2 devices. To watch HD
Tommy Jonsson [Sun, 12 Sep 2010 19:03:45 +0000]
[media] firedtv: support for PSK8 for S2 devices. To watch HD

Add support for tuning with PSK8 modulation, pilot and rolloff
with the S2 versions of firedtv.

Signed-off-by: Tommy Jonsson <quazzie2@gmail.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (trivial simplification)
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] ir: avoid race conditions at device disconnect
Mauro Carvalho Chehab [Thu, 14 Oct 2010 15:23:56 +0000]
[media] ir: avoid race conditions at device disconnect

It is possible that, while ir_unregister_class() is handling, some
application could try to access the sysfs nodes, causing an OOPS.

Reviewed-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR/streamzap: fix usec to nsec conversion
Dan Carpenter [Tue, 12 Oct 2010 13:42:08 +0000]
[media] IR/streamzap: fix usec to nsec conversion

There is an integer overflow here because 0x03000000 * 1000 is too large
for 31 bits.

rawir.duration should be in terms of nsecs.
IR_MAX_DURATION and 0x03000000 are already in terms of nsecs.
STREAMZAP_TIMEOUT and STREAMZAP_RESOLUTION are 255 and 256 respectively
and are in terms of usecs.

The original code had a deadline of 1.005 seconds and the new code has a
deadline of .065 seconds.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR/streamzap: shorten up some define names for readability
Jarod Wilson [Tue, 12 Oct 2010 13:41:27 +0000]
[media] IR/streamzap: shorten up some define names for readability

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] lirc_dev: fixup error messages w/missing newlines
Jarod Wilson [Sat, 9 Oct 2010 18:17:03 +0000]
[media] lirc_dev: fixup error messages w/missing newlines

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] lirc: wire up .compat_ioctl to main ioctl handler
Jarod Wilson [Sat, 9 Oct 2010 18:07:06 +0000]
[media] lirc: wire up .compat_ioctl to main ioctl handler

As pointed out (and tested) by Joris van Rantwijk, we do actually need
to wire up .compat_ioctl for 32-bit lirc userspace to work with 64-bit
lirc kernelspace. Do it. And add a check to make sure we get a valid
irctl in the ioctl handler.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] staging/lirc: ioctl portability fixups
Jarod Wilson [Fri, 8 Oct 2010 20:35:09 +0000]
[media] staging/lirc: ioctl portability fixups

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR/lirc: further ioctl portability fixups
Jarod Wilson [Fri, 8 Oct 2010 20:24:21 +0000]
[media] IR/lirc: further ioctl portability fixups

>From Joris van Rantwijk <jorispubl@xs4all.nl>:

I tested lirc_serial and found that it works fine.
Except the LIRC ioctls do not work in my 64-bit-kernel/32-bit-user
setup. I added compat_ioctl entries in the drivers to fix this.

While doing so, I noticed inconsistencies in the argument type of
the LIRC ioctls. All ioctls are declared in lirc.h as having argument
type __u32, however there are a few places where the driver calls
get_user/put_user with an unsigned long argument.

The patch below changes lirc_dev and lirc_serial to use __u32 for all
ioctl arguments, and adds compat_ioctl entries.
It should probably also be done in the other low-level drivers,
but I don't have hardware to test those.

I've dropped the .compat_ioctl addition from Joris' original patch,
as I swear the non-compat definition should now work for both 32-bit
and 64-bit userspace. Technically, I think we still need/want a
in getting a reply to you).

Reported-by: Joris van Rantwijk <jorispubl@xs4all.nl>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR/Kconfig: sort hardware entries alphabetically
Jarod Wilson [Fri, 8 Oct 2010 19:23:56 +0000]
[media] IR/Kconfig: sort hardware entries alphabetically

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] nuvoton-cir: add proper rx fifo overrun handling
Jarod Wilson [Fri, 8 Oct 2010 19:16:23 +0000]
[media] nuvoton-cir: add proper rx fifo overrun handling

Per discussion with Andy Walls on irc, rx fifo overruns are not all that
uncommon on a busy system, and the initial posting of the nuvoton-cir
driver doesn't handle them well enough. With this addition, we'll drain
the hw fifo, attempt to process any ir pulse trains completed with that
flush, then we'll issue a hw rx fifo clear and reset the raw ir sample
kfifo and start over collecting raw ir data.

Also slightly refactors the cir interrupt enabling so that we always get
consistent flags set and only have to modify them in one place, should
they need to be altered.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IR: add driver for Nuvoton w836x7hg integrated CIR
Jarod Wilson [Thu, 7 Oct 2010 20:50:34 +0000]
[media] IR: add driver for Nuvoton w836x7hg integrated CIR

This is a new ir-core pnp driver for the Nuvoton w836x7hg integrated CIR
function. The chip is found on at least the ASRock ION 330HT boxes and
apparently, on a number of Intel DP55-series motherboards:

http://www.asrock.com/nettop/overview.asp?Model=ION%20330HT
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=17685&lang=eng

This driver was made possible by a hardware donation from Nuvoton, along
with sample code (in the form of an lirc driver) and datasheet, so huge
thanks to them for supporting this effort. Note that this driver
constitutes a massive rewrite, porting from the lirc interfaces to the
ir-core interfaces, and restructuring the driver to look more like Maxim
Levitsky's ene_ir driver (as well as generally making it look more like
kernel code).

There's some work left to be done on this driver, to fully support the
range of functionality possible, but receive and IR power-on/wake are
both functional (may require setting wake key under another OS atm). The
hardware I've got (one of the ASRock boxes) only supports RX, so TX is
completely untested as of yet. Certain RX parameters, like sample
resolution and RX IRQ sample length trigger level could possibly stand
to be made tweakable via modparams or sysfs nodes, but the current
values work well enough for me w/an MCE RC6A remote.

The original lirc driver carried support for the Windows MCE IR
keyboard/mouse device, which I plan to add back generically, in a way
that should be usable by any raw IR receiver (or at least by this driver
and the mceusb driver).

Suspend and resume have also been tested, the power button on my remote
can be used to wake the machine, and CIR functionality resumes just
fine. Module unload/reload has also been tested, though not extensively
or repetitively. Also tested to work with the lirc bridge plugin for
userspace decoding.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gspca - sonixj: Use the new video control mechanism
Jean-François Moine [Sat, 2 Oct 2010 07:35:25 +0000]
[media] gspca - sonixj: Use the new video control mechanism

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gspca - ov519: Use the new video control mechanism
Jean-François Moine [Sat, 2 Oct 2010 07:27:02 +0000]
[media] gspca - ov519: Use the new video control mechanism

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gspca - stk014: Use the new video control mechanism
Jean-François Moine [Sat, 2 Oct 2010 07:17:38 +0000]
[media] gspca - stk014: Use the new video control mechanism

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gspca - main: New video control mechanism
Jean-François Moine [Sat, 2 Oct 2010 07:12:25 +0000]
[media] gspca - main: New video control mechanism

The new control mechanism uses dynamic control values in the subdriver
descriptor. It simplifies standard control handling.

Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Fix uvc_query_v4l2_ctrl() and uvc_xu_ctrl_query() locking
Laurent Pinchart [Sat, 2 Oct 2010 12:04:53 +0000]
[media] uvcvideo: Fix uvc_query_v4l2_ctrl() and uvc_xu_ctrl_query() locking

Take the ctrl_mutex mutex before touching control information in those
functions.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Fix bogus XU controls information
Laurent Pinchart [Fri, 1 Oct 2010 18:39:49 +0000]
[media] uvcvideo: Fix bogus XU controls information

XU control information is supposed to be entirely discoverable using
standard UVC queries. As some devices report bogus information (such as
reporting a read-only control as being read-write), add a fixup table
for XU controls.

This table can also be used to selectively disable requests supposed to
be supported by all XU controls (GET_MIN, GET_MAX, GET_DEF, GET_RES) but
not correctly (or at all) supported by the device.

The table currently disables GET_CUR on the Logitech motor control XU
pan/tilt controls.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>