summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
AgeCommit message (Collapse)Author
2008-07-17sh_mobile_ceu_camera: Add SuperH Mobile CEU driver V3Magnus Damm
This is V3 of the SuperH Mobile CEU soc_camera driver. The CEU hardware block is configured in a transparent data fetch mode, frames are captured from the attached camera and written to physically contiguous memory buffers provided by the newly added videobuf-dma-contig queue. Tested on sh7722 and sh7723 processors. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> --- Changes since V2: - remove SUPERH Kconfig dependency - move sh_mobile_ceu.h to include/media - add board callback support with enable_camera()/disable_camera() - add support for declare_coherent_memory - rework video memory limit - more verbose error messages Changes since V1: - fixed the CEU driver to work with the newly updated patches drivers/media/video/Kconfig | 8 drivers/media/video/Makefile | 1 drivers/media/video/sh_mobile_ceu_camera.c | 657 ++++++++++++++++++++++++++++ include/media/sh_mobile_ceu.h | 12 4 files changed, 678 insertions(+)
2008-07-16videobuf: Add physically contiguous queue code V3Magnus Damm
This is V3 of the physically contiguous videobuf queues patch. Useful for hardware such as the SuperH Mobile CEU which doesn't support scatter gatter bus mastering. Since it may be difficult to allocate large chunks of physically contiguous memory after some uptime due to fragmentation, this code allocates memory using dma_alloc_coherent(). Architectures supporting dma_declare_coherent_memory() can easily avoid fragmentation issues by using dma_declare_coherent_memory() to force dma_alloc_coherent() to allocate from a certain pre-allocated memory area. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> --- Changes since V2 - use dma_handle for physical address - use "scatter gather" instead of "scatter gatter" Changes since V1: - use dev_err() instead of pr_err() - remember size in struct videobuf_dma_contig_memory - keep struct videobuf_dma_contig_memory in .c file - let videobuf_to_dma_contig() return dma_addr_t - implement __videobuf_sync() - return statements, white space and other minor fixes drivers/media/video/Kconfig | 5 drivers/media/video/Makefile | 1 drivers/media/video/videobuf-dma-contig.c | 417 +++++++++++++++++++++++++++++ include/media/videobuf-dma-contig.h | 32 ++ 4 files changed, 455 insertions(+)
2008-07-16videobuf: Fix gather spellingMagnus Damm
Use "scatter gather" instead of "scatter gatter". Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> --- drivers/media/video/videobuf-dma-sg.c | 2 +- drivers/media/video/videobuf-vmalloc.c | 2 +- include/media/videobuf-dma-sg.h | 2 +- include/media/videobuf-vmalloc.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
2008-07-11soc_camera: Move spinlocksMagnus Damm
This patch moves the spinlock handling from soc_camera.c to the actual camera host driver. The spinlock_alloc/free callbacks are replaced with code in init_videobuf(). So far all camera host drivers implement their own spinlock_alloc/free methods anyway, and videobuf_queue_core_init() BUGs on a NULL spinlock argument, so, new camera host drivers will not forget to provide a spinlock when initialising their videobuf queues. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> --- drivers/media/video/pxa_camera.c | 17 ++++------------ drivers/media/video/soc_camera.c | 39 -------------------------------------- include/media/soc_camera.h | 5 ---- 3 files changed, 7 insertions(+), 54 deletions(-)
2008-07-11soc_camera: make videobuf independentPaulius Zaleckas
Makes SoC camera videobuf independent. Includes all necessary changes for PXA camera driver (currently the only driver using soc_camera in the mainline). These changes are important for the future soc_camera based drivers. Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Cc: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
2008-06-22zoran annotations and fixesMauro Carvalho Chehab
From: Al Viro <viro@ftp.linux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-22cx23885 endianness fixesMauro Carvalho Chehab
From: Al Viro <viro@ftp.linux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-22bt8xx endianness annotations and fixesMauro Carvalho Chehab
From: Al Viro <viro@ftp.linux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-26This driver adds support for the Sensoray 2255 devices.Mauro Carvalho Chehab
From: Dean Anderson <dean@sensoray.com> It was primarily developed by Dean Anderson with only a little bit of guidance and cleanup by Greg. Signed-off-by: Dean Anderson <dean@sensoray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-28Add LifeVideo To-Go Cardbus PCI IDMauro Carvalho Chehab
From: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-28Add support for em2860 based PointNix Intra-Oral CameraMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> em28xx-cards.c em28xx-input.c em28xx-video.c em28xx.h - Add support for the PointNix Intra-Oral Camera, which required addition of a construct for reading the "snapshot" button (provided on the em2860 and em2880 chips, but this is the first case where I have seen it actually used in a product). The button is wired to pin 56 on the em2880. http://www.pointnix.com/ENG/dental/product_02.asp Thanks to Roberto Mantovani <rmantovani@libero.it> for testing the changes Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-27merge: http://linuxtv.org/hg/~dougsland/cx23885-417Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-27saa7134: Avermedia A16D composite inputMauro Carvalho Chehab
From: Dan Taylor <dtaylor@startrac.com> Signed-off-by: Star Trac by Unisen, Inc. Dan Taylor <dtaylor@startrac.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-27cx23885-417: Replace cx23885_do_ioctl to use video_ioctl2Douglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> Convert cx23885-417 to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-06-25videodev: allow PRIVATE_BASE controls when called through VIDIOC_G/S_CTRL.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> V4L2_CID_PRIVATE_BASE controls are not allowed when called from VIDIOC_S/G_EXT_CTRL as extended controls use a better mechanism for private controls. But still allow it when called from the VIDIOC_G/S_CTRL to extended control conversion in video_ioctl2() for backwards compatibility. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-25Merge: from http://linuxtv.org/hg/~awalls/v4l-dvbHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-25ivtv/cx18: remove s/g_ctrl, now all controls are handled through s/g_ext_ctrlHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> videodev converts old-style controls to an extended control so the ivtv and cx18 drivers no longer have to handle both. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-25videodev: improve extended control support in video_ioctl2()Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - add sanity checks for the extended controls argument. - if the driver only supports extended controls, then convert old-style controls to an extended control callback. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-25ivtv/cx18: fix compile error when CONFIG_VIDEO_ADV_DEBUG is not defined.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Thanks to Randy Dunlap for reporting this. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-24cx18: Improve Raptor card audio input routing defintionsAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Improved Raptor card audio input routing defintions, so that muxer values matched cx18_gpio() values for tuner, line in 1, and radio and added LED indication of selected audio input. Audio line in 2 doesn't work as it uses the not yet supported 2nd I2S port. Tuner/FM Radio AF is mono until SIF support is fixed. Signed-off-by: Andy Walls <awalls@radix.net>
2008-06-23bttv: allow debug ioctl'sMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-22 Fix open/close race in saa7134Mauro Carvalho Chehab
From: Arjan van de Ven <arjan@linux.intel.com> The saa7134 driver uses a (non-atomic) variable in an attempt to only allow one opener of the device (how it deals with sending the fd over unix sockets I don't know). Unfortunately, the release function first decrements this variable, and THEN goes on to disable more of the device. This allows for a race where another opener of the device comes in after the decrement of the variable, configures the hardware just to then see the hardware be disabled by the rest of the release function. This patch makes the release function use the same lock as the open function to protect the hardware as well as the variable (which now at least has some locking to protect it). Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-22cx18: improve support for the Raptor board.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - add radio definition - reset the audio firmware (required for this board, harmless for the others) Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22ivtv/cx18: improve tuner std check in card definitions.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22cx2341x: add TS capabilityHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The cx18 can support transport streams with newer firmwares. Add a TS capability to the generic cx2341x module. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22cx18/ivtv: ioctl debugging improvementsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Completely rely on the video_ioctl2 debugging facilities rather than doing it ourselves. Fill in some missing fields in ivtv with VIDIOC_G_FBUF. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22videodev: fix/improve ioctl debuggingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Various ioctl debugging fixes and improvements: - use %x rather than %d for control IDs and bitmask fields - make two arrays const - show the whole control array for the ext_ctrl ioctls - print pix_fmt for V4L2_BUF_TYPE_VIDEO_OUTPUT - show full type name rather than an integer - fix CROPCAP debugging - fix G/S_TUNER debugging - show error code in case of an error - other small cleanups Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22tcm825x: fix compile warning with kernels < 2.6.26.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22videodev: fix compilation issue for kernels < 2.6.25Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22 V4L/vivi: fix possible memory leak in vivi_fillbuffMauro Carvalho Chehab
From: Marcin Slusarz <marcin.slusarz@gmail.com> Move allocation after first check and fix memory leak. Noticed-by: Daniel MarjamÀki <danielm77@spray.se> Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-21 zoran_driver.c: Removed duplicated includeMauro Carvalho Chehab
From: Huang Weiyi <weiyi.huang@gmail.com> Removed duplicated include file <asm/byteorder.h> in drivers/media/video/zoran_driver.c. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-22merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Fixed a small merge conflicts at: merging linux/drivers/media/video/cx18/cx18-cards.h warning: conflicts during merge. merging linux/drivers/media/video/cx18/cx18-cards.h failed! Basically, two new structures were added bellow the same place Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-21cx18: fix prefix typoHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21videodev: simplify and fix standard enumerationHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> VIDIOC_ENUMSTD did not return all the PAL/SECAM/NTSC variants: it just returned one single PAL/SECAM/NTSC standard without separate entries for the trickier standards like NTSC-JP. Changed the code so that it behaves better. Also simplified the if/switch statements into a common standards lookup table. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21cx18: show GPIO pins when VIDIOC_LOG_STATUS is called.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv: yuv decoder lock fix (2)Hans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> The IVTV_IOC_DMA_FRAME ioctl fails to correctly 'start' the decoder. Although yuv output will be correct, some functions which should be disabled while the decoder is in use remain enabled. This can result in hardware registers being corrupted, causing problems with the mpeg decoder. This patch ensures the decoder 'start' sequence is called, disabling these functions until the device is closed. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21cx18: add support for Conexant Raptor PAL/SECAM cardHans Verkuil
From: Sri Deevi <Srinivasa.Deevi@conexant.com> Patch provided courtesy of Conexant http://www.conexant.com. Signed-off-by: Srinivasa Deevi <srinivasa.deevi@conexant.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv: yuv decoder lock fixHans Verkuil
From: Ian Armstrong <ian@iarmst.co.uk> write() operations to the yuv device may not always 'start' the decoder. Although yuv output will be correct, some functions which should be disabled while the decoder is in use remain enabled. This can result in hardware registers being corrupted, causing problems with the mpeg decoder. This patch simply moves the existing decoder 'start' sequence to earlier in the write() handler. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21cx18: make sure all v4l2_format fields are filled inHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv/cx18: fix video_temporal_filter handlingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> If the capture is scaled, then the video_temporal_filter is set to 0 by the cx2341x.c module since otherwise you would get ghosting. However, this was also done in the VIDIOC_S_FMT ioctl which meant that the video_temporal_filter control was reset to 0 or 8 each time S_FMT was called. This was old code that should have been removed a long time ago. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv: fill in all v4l2_framebuffer fields in VIDIOC_G/S_FBUFHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv/cx18: remove unnecessary memsets & KERNEL_VERSION testsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21videodev: zero fields for ENCODER_CMD and VIDIOC_G_SLICED_VBI_CAPHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> This avoids the need of memsets in the ivtv/cx18 drivers. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21cx18: convert to video_ioctl2()Hans Verkuil
From: Andy Walls <awalls@radix.net> cx18: convert driver to use video_ioctl2(). Pushed down ioctl debug messages and priority checks as well. Still left serialization lock in place for now. #if 0'ed out sliced vbi ioctl code for now. Patch heavily based on similar changes made to ivtv by Hans Verkuil. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv: remove obsolete arrays.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv: make sure all v4l2_format fields are filled inHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-20 Introduce "index" attribute for persistent video4linux device nodesMauro Carvalho Chehab
From: brandon@ifup.org <brandon@ifup.org> A number of V4L drivers have a mod param to specify their preferred minors. This is because it is often desirable for applications to have a static /dev name for a particular device. However, using minors has several disadvantages: 1) the requested minor may already be taken 2) using a mod param is driver specific 3) it requires every driver to add a param 4) requires configuration by hand This patch introduces an "index" attribute that when combined with udev rules can create static device paths like this: /dev/v4l/by-path/pci-0000\:00\:1d.2-usb-0\:1\:1.0-video0 /dev/v4l/by-path/pci-0000\:00\:1d.2-usb-0\:1\:1.0-video1 /dev/v4l/by-path/pci-0000\:00\:1d.2-usb-0\:1\:1.0-video2 $ ls -la /dev/v4l/by-path/pci-0000\:00\:1d.2-usb-0\:1\:1.0-video0 lrwxrwxrwx 1 root root 12 2008-04-28 00:02 /dev/v4l/by-path/pci-0000:00:1d.2-usb-0:1:1.0-video0 -> ../../video1 These paths are steady across reboots and should be resistant to rearranging across Kernel versions. video_register_device_index is available to drivers to request a specific index number. Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Kees Cook <kees@outflux.net> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-21cx18: Fix S-Video and Compsite inputs for the Yuan MPC718 and enable card entryAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Fix S-Video and Compsite input settings for the Yuan MPC718 per user reports from Yuri Warczynski <Yuri.Warczynski@gmail.com> and Brian Hope <brian@hopefamily.info> and enable the card entry. The tuner reset GPIO pin is likely incorrect as the tuner firmware cannot be reloaded without a reboot. It is likely the audio routing is done via GPIO which is not implemented yet, as users report audio doesn't work for some inputs. Signed-off-by: Andy Walls <awalls@radix.net>
2008-06-21cx18: Add I2C slave reset via GPIO upon initializationAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Add I2C slave reset via GPIO upon initialization. One user, Michael <msd4824@yahoo.com>, has reported this allows his HVR-1600 EEPROM to be consistently recognized when using (long,) 100 msec delays. The delays in this commit are nominal (10 & 40 msec) and need testing/tuning on boards with I2C problems to find the right values. Signed-off-by: Andy Walls <awalls@radix.net>
2008-06-21cx18: Fix firmware load for case when digital capture happens firstAndy Walls
From: Andy Walls <awalls@radix.net> This is a fix for the case when a digital capture from dvr0 happens first after modprobe, before access to any cx18 v4l2 device nodes. The initial dvb feed start has been changed to load the firmware if not already loaded. Also fixed a use counter to correct dvb feed accounting if starting the transport DMA fails. Signed-off-by: Andy Walls <awalls@radix.net>