summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-03-31pxa_camera: Redesign DMA handlingGuennadi Liakhovetski
From: Robert Jarzmik <robert.jarzmik@free.fr> The DMA transfers in pxa_camera showed some weaknesses in multiple queued buffers context : - poll/select problem The bug shows up with capture_example tool from v4l2 hg tree. The process just "stalls" on a "select timeout". - multiple buffers DMA starting When multiple buffers were queued, the DMA channels were always started right away. This is not optimal, as a special case appears when the first EOF was not yet reached, and the DMA channels were prematurely started. - Maintainability DMA code was a bit obfuscated. Rationalize the code to be easily maintainable by anyone. - DMA hot chaining DMA is not stopped anymore to queue a buffer, the buffer is queued with DMA running. As a tribute, a corner case exists where chaining happens while DMA finishes the chain, and the capture is restarted to deal with the missed link buffer. This patch attemps to address these issues / improvements. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- Documentation/video4linux/pxa_camera.txt | 125 ++++++++++++ drivers/media/video/pxa_camera.c | 319 ++++++++++++++++++------------ 2 files changed, 316 insertions(+), 128 deletions(-) create mode 100644 Documentation/video4linux/pxa_camera.txt
2009-03-31pxa_camera: Remove YUV planar formats holeGuennadi Liakhovetski
From: Robert Jarzmik <robert.jarzmik@free.fr> All planes were PAGE aligned (ie. 4096 bytes aligned). This is not consistent with YUV422 format, which requires Y, U and V planes glued together. The new implementation forces the alignement on 8 bytes (DMA requirement), which is almost always the case (granted by width x height being a multiple of 8). The test cases include tests in both YUV422 and RGB565 : - a picture of size 111 x 111 (cross RAM pages example) - a picture of size 1023 x 4 in (under 1 RAM page) - a picture of size 1024 x 4 in (exactly 1 RAM page) - a picture of size 1025 x 4 in (over 1 RAM page) - a picture of size 1280 x 1024 (many RAM pages) Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/pxa_camera.c | 145 +++++++++++++++++++++++++++---------- 1 files changed, 106 insertions(+), 39 deletions(-)
2009-03-31pxa_camera: Enforce YUV422P frame sizes to be 16 multiplesGuennadi Liakhovetski
From: Robert Jarzmik <robert.jarzmik@free.fr> Due to DMA constraints, the DMA chain always transfers bytes from the QCI fifos to memory in 8 bytes units. In planar formats, that could mean 0 padding between Y and U plane (and between U and V plane), which is against YUV422P standard. Therefore, a frame size is required to be a multiple of 16 (so U plane size is a multiple of 8). It is enforced in try_fmt() and set_fmt() primitives, be aligning height then width on 4 multiples as need be, to reach a 16 multiple. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/pxa_camera.c | 32 +++++++++++++++++++++----------- 1 files changed, 21 insertions(+), 11 deletions(-)
2009-03-30fix misspelling of kconfig optionMauro Carvalho Chehab
From: Kyle McMartin <kyle@mcmartin.ca> CUSTOMISE appears to be the one actually defined... Signed-off-by: Kyle McMartin <kyle@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30af9015: remove wrong definitionsAntti Palosaari
From: Antti Palosaari <crope@iki.fi> Remove wrong GPIO definitions. GPIOs used by AF9015 are property of the AF9013 demodulator and are coming from there. Priority: normal Signed-off-by: Antti Palosaari <crope@iki.fi>
2009-03-30patch: s2255drv driver removal problem fixedMauro Carvalho Chehab
From: Dean Anderson <dean@sensoray.com> This patch fixes kfree problem on driver removal, fixes streamoff problem and removes unnecessary videobuf_waiton from free_buffer function. Signed-off-by: Dean Anderson <dean@sensoray.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30msp3400: use the V4L2 header since no V4L1 code is thereMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30cx88: Fix compilation breakage for kernels older than 2.6.22Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30saa7191: tuner ops wasn't set.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The tuner ops pointer wasn't set, so s_std never worked here. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30cx25840: fix 'unused variable' warning.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30au8522: remove unused I2C_DRIVERIDHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> I2C_DRIVERIDs are no longer needed with v4l2_subdev and will be removed from the kernel soon. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-29merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-cx88Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-cx23885Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29merge: http://linuxtv.org/hg/~pinchartl/uvcvideo/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29merge: http://linuxtv.org/hg/~pb/v4l-dvb/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29pci-isa radios: remove open and release functionsMauro Carvalho Chehab
From: Alexey Klimov <klimov.linux@gmail.com> Patch removes empty open and release functions in pci and isa radio drivers, setting them to NULL. V4L module doesn't call for them due to previous patch. Priority: normal Signed-off-by: Alexey Klimov <klimov.linux@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-292-dev.c: return 0 for NULL open and release callbacksMauro Carvalho Chehab
From: Hans Verkuil <hverkuil@xs4all.nl> Patch allows v4l2_open and v4l2_release functions return 0 if open and release driver callbacks set to NULL. This will be used in radio drivers. -- Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Alexey Klimov <klimov.linux@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29Document the orientation flags in ENUMINPUTMauro Carvalho Chehab
From: Adam Baker <linux@baker-net.org.uk> Add documentation for the flags that have been added to VIDIOC_ENUMINPUT to specify the sensor orientation. Signed-off-by: Adam Baker <linux@baker-net.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30v4l2-subdev: add enum_framesizes and enum_frameintervals.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> These callbacks are needed for omap. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30tuner: remove V4L1 code from this driver.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> No i2c modules are called with the V4L1 API anymore, so this can be removed. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30v4l: replace 'ioctl' references in v4l i2c driversHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Replace 'VIDIOC_' references in v4l i2c drivers by their new v4l2_subdev callback names. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-30cx18: remove intermediate 'ioctl' stepHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The audio and vbi parts still used an 'ioctl'-like interface. Replace this with normal functions. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Andy Walls <awalls@radix.net>
2009-03-30cx25840: cleanup: remove intermediate 'ioctl' stepHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The audio and vbi functions where still called through an ioctl-like interface, even though this is no longer needed with v4l2-subdev. Just change each 'case' into a proper function and call that directly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29Specify SHELL in documentation MakefileMauro Carvalho Chehab
From: Adam Baker <linux@baker-net.org.uk> The Makefile for the V4L2 spec uses bash extensions but was using the default system shell, change it to explicitly request bash. Signed-off-by: Adam Baker <linux@baker-net.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29Sensor orientation reportingMauro Carvalho Chehab
From: Adam Baker <linux@baker-net.org.uk> Add support to the SQ-905 driver to pass back to user space the sensor orientation information obtained from the camera during init. Modifies gspca and the videodev2.h header to create the necessary API. Signed-off-by: Adam Baker <linux@baker-net.org.uk> [mchehab@redhat.com: Changed "Output is" to "Frames are" at the comments, as suggested at LMML] Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-29cx88: prevent probing rtc and ir devicesHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> tuner-core.c contains a hack for cx88 board to prevent probing of certain addresses: /* HACK: Ignore 0x6b and 0x6f on cx88 boards. * FusionHDTV5 RT Gold has an ir receiver at 0x6b * and an RTC at 0x6f which can get corrupted if probed. */ With the new i2c API this hack no longer works. So instead change the list of tuner probe addresses in the cx88 driver itself, which is much more clean. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-29saa7134: Add analog RF tuner support for Avermedia A700 DVB-S Hybrid+FM cardMauro Carvalho Chehab
From: Matthias Schwarzott <zzam@gentoo.org> Thanks to panagonov <panagonov@mail.bg> for requesting support and testing patches. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-05merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-05em28xx: use usb_interface.dev for v4l2_device_registerMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-05merge: http://hg.jannau.net/v4l-dvb/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-03Add camera (CSI) driver for MX1Guennadi Liakhovetski
From: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Add support for CMOS Sensor Interface on i.MX1 and i.MXL SoCs. Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Signed-off-by: Darius Augulis <augulis.darius@gmail.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- arch/arm/mach-mx1/Makefile | 5 +- arch/arm/mach-mx1/devices.c | 2 +- arch/arm/mach-mx1/ksym_mx1.c | 18 + arch/arm/mach-mx1/mx1_camera_fiq.S | 35 ++ arch/arm/plat-mxc/include/mach/memory.h | 8 + arch/arm/plat-mxc/include/mach/mx1_camera.h | 35 ++ drivers/media/video/Kconfig | 13 +- drivers/media/video/Makefile | 1 + drivers/media/video/mx1_camera.c | 827 +++++++++++++++++++++++++++ 9 files changed, 941 insertions(+), 3 deletions(-) create mode 100644 arch/arm/mach-mx1/ksym_mx1.c create mode 100644 arch/arm/mach-mx1/mx1_camera_fiq.S create mode 100644 arch/arm/plat-mxc/include/mach/mx1_camera.h create mode 100644 drivers/media/video/mx1_camera.c
2009-04-03mx3-camera: adapt the clock definition and the driver to the new clock namingGuennadi Liakhovetski
From: Guennadi Liakhovetski <lg@denx.de> With the i.MX31 transition to clkdev clock names have changed, but mistakenly the "mx3-camera.0" has been registered with a non-NULL connection ID, which is not necessary, since this is the only clock, used by the capture interface driver. Fix the clock definition and the driver to use NULL as a connection ID. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> --- arch/arm/mach-mx3/clock.c | 2 +- drivers/media/video/mx3_camera.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
2009-04-03sync: add files needed for the following two commitsGuennadi Liakhovetski
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> kernel-sync:
2009-04-03mt9t031: use platform power hookGuennadi Liakhovetski
From: Guennadi Liakhovetski <lg@denx.de> Use platform power hook to turn the camera on and off. Signed-off-by: Guennadi Liakhovetski <lg@denx.de> --- drivers/media/video/mt9t031.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
2009-04-03v4l2-spec: add missing doc for V4L2_PIX_FMT_SQ905CHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-02v4l2-i2c-drv.h: fix compilation on kernel 2.6.25.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-02saa7146: fix incorrect comment.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-02ivtv/cx18: remove VIDIOC_INT_S_AUDIO_ROUTING debug support.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Remove support for the debug call VIDIOC_INT_S_AUDIO_ROUTING from cx18 and ivtv. These internal ioctls shouldn't be exposed. These were only used through the cx18-ctl and ivtv-ctl utilities, and only when testing a new card variant. This cleanup allows the removal of this ioctl from v4l2-common.h. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Andy Walls <awalls@radix.net>
2009-04-02v4l2-subdev: change s_routing prototypeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It is no longer needed to use a struct pointer as argument, since v4l2_subdev doesn't require that ioctl-like approach anymore. Instead just pass the input, output and config (new!) arguments directly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-02mxb: fix copy-and-paste bug in mute.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The line-in was muted twice instead of the line-in and the cd-in. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01w9968cf: use usb_interface.dev for v4l2_device_registerJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net>
2009-04-01au0828: remove explicitly set v4l2_device.name and unused au0828_instanceJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Devin Heitmueller <devin.heitmueller@gmail.com>
2009-04-01au0828: use usb_interface.dev for v4l2_device_registerJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Devin Heitmueller <devin.heitmueller@gmail.com>
2009-04-01pvrusb2: use usb_interface.dev for v4l2_device_registerJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Mike Isely <isely@pobox.com>
2009-04-01usbvision: use usb_interface.dev for v4l2_device_registerJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Thierry Merle <thierry.merle@free.fr>
2009-04-01cx231xx: remove explicitly set v4l2_device.nameJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net>
2009-04-01cx231xx: use usb_interface.dev for v4l2_device_registerJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net>
2009-04-01v4l: use usb_interface for v4l2_device_registerJanne Grunau
From: Janne Grunau <j@jannau.net> If usb_interface.dev is used as dev parameter for v4l2_device_register v4l2_dev.name contains the v4l driver/module name and usb device and interface instead of a simple "usb x-y". It also matches the recommendation to set the parent devices for usb drivers. Priority: normal Signed-off-by: Janne Grunau <j@jannau.net>
2009-04-01v4l2-subdev: change prototype of s_crystal_freq.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Remove intermediate v4l2_crystal_freq struct. This is no longer needed with the v4l2_subdev API. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>