summaryrefslogtreecommitdiff
path: root/linux/drivers/media
AgeCommit message (Collapse)Author
2007-07-19Remove usage of HZ on ivtv driver, replacing by msecs_to_jiffiesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-19Add check for valid control ID to v4l2_ctrl_next.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> If v4l2_ctrl_next is called without the V4L2_CTRL_FLAG_NEXT_CTRL then it should check whether the passed control ID is valid and return 0 if it isn't. Otherwise a for-loop over the control IDs will never end. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-18Merge: from masterHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-18TCM825x: Add driver.Mauro Carvalho Chehab
From: Sakari Ailus <sakari.ailus@nokia.com> Add a driver for Toshiba TCM825x VGA camera sensor. This sensor is used e.g. in Nokia N800 internet tablet. This driver uses the new V4L2 internal ioctl interface. Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L: Add internal ioctl-like interface.Mauro Carvalho Chehab
From: Sakari Ailus <sakari.ailus@nokia.com> This patch adds an internal ioctl-like interface which can be used in situations where a single Video4Linux device is implemented by multiple device drivers. One master device controls one or more slave devices. The slaves provide Video4Linux ioctl-like interface for the use of the master. Only a handful of ioctls are implemented at the moment. More can (and should) be added as more functionality is required. Signed-off-by: Sakari Ailus <sakari.ailus@nokia.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18ivtv: fix DMA timeout when capturing VBI + another streamHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The VBI DMA is handled in a special way and is marked with a bit. However, that bit was set at the wrong time and could be cleared by mistake if a PCM (or other) DMA request would arrive before the VBI DMA was completed. So on completion of the VBI DMA the driver no longer knew that that DMA transfer was for VBI data. And this in turn caused havoc with the card's DMA engine. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-17zr36067: Turn off raw capture properlyTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> When raw capture was turned off, the current capturing frame (v4l_grab_frame) wasn't reset to NO_GRAB_ACTIVE. If capture was turned back on, the driver would think this frame was currently being captured, and wait for it to complete before starting a new frame. The hardware on the other hand would not be actively capturing a frame. The result was the driver would wait forever for v4l_grab_frame to be captured. Some calls to zr36057_set_memgrab(0) were missing spin-locks, which have been added. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
2007-07-17zr36067: Add UYVY, RGB555X, RGB565X, and RGB32 formatsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add support for the UYVY and the other big endian output formats. The driver was naming formats based on the host endianess. This is different that all the other drivers appear to work and not what software appears to expect. Use ARRAY_SIZE() to find the the size of the zoran_formats array. Change the way the driver handles setting the video format register. Rather than use some if and switch statements to set to register by looking at the format id, the format list simply has a field with the proper bits to set. Adds a bit of ifdef to make a driver without V4L1 support more possible. Also create a macro for defining formats that handles vl41 and/or vl42 support to avoid repeated ifdefs in the format list. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
2007-07-17zr36067: fix x86_64 warningsJean Delvare
From: Jean Delvare <khali@linux-fr.org> Fix the following warning on x86_64: drivers/media/video/zoran_driver.c: In function "v4l_fbuffer_alloc": drivers/media/video/zoran_driver.c:387: warning: cast from pointer to integer of different size Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
2007-07-17zr36067: Driver was not returning correct image sizeTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The driver was returning the size of the (fixed) buffer it allocated as the sizeimage field in the v4l2 pixel format, rather than the actual size of the image. For example, a 192x128 YUYV image is 49152 bytes but the driver would always return 131072 bytes since if that was the size of the v4l buffer. This violates the v4l2 spec, which says that sizeimage should be the actual size of the image for uncompressed formats. It also caused mplayer to crash. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
2007-07-17zr36067: Fix poll() operationTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> During uncompressed capture, the poll() function was looking the wrong frame. It was using the frame the driver was going to capture into next (pend_tail), when it should have been looking at the next frame to be de-queued with DQBUF/SYNC (sync_tail). It also wasn't looking in the right spot. It was looking at the file handle's copy of the buffer status, rather than the driver core copy. The interrupt routine marks frames as done in the driver core copy, the file handle copy isn't updated. So even if poll() looked at the right frame, it would never see it transition to done and return POLLIN. The compressed capture code has this same problem, looking in fh->jpg_buffers when it should have used zr->jpg_buffers. There was some logic to detect when there was no current capture in process nor any frames queued and try to return an error, which ends up being a bad idea. It's possible to call select() from one thread while no capture is in process, or no frames queued, and then start a capture or queue frames from another thread. The buffer state variables are protected by a spin lock, which the code wasn't acquiring. That is fixed too. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
2007-07-17zr36067: Fix problem setting normsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The zr36067 driver doesn't make a distinction between the different sub-types of NTSC, PAL, or SECAM norms. For example, when the enum std ioctl returns the PAL standard it returns PAL_BG|PAL_DK|PAL_H|PAL_I. When setting the norm, it required the bitmask to match exactly the set of norms used during the enumeration. If just one norm was specified, for example PAL_BG or NTSC_M, it would fail. This violates the V4L2 spec, "VIDIOC_S_STD accepts *one* or more flags..." The key thing to realize is that V4L2_STD_PAL is not one bit, it is multiple bits. It's ok to call S_STD with any *one* of those bits, but the driver was requiring *all* of them. This fixes the S_STD function so that it will accept any set of one or more PAL norms as PAL, and the same for NTSC and SECAM. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
2007-07-17zr36067: Fix problems with module parametersTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add permissions to all the module parameters so they can be queried and set (when possible) via sysfs. Add description for the vidmem parameter. Change the video_nr parameter to an array, so that the video number can be specified when a user has more than one card. The driver would try to give all cards the same number otherwise, which will fail for all cards after the first. The default_input option would only allow values of 0 or 1, contrary to the description. Allow values up to the number of inputs defined for the card. Add description of lock_norm's different behavior for 1 and >1. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
2007-07-17zr36067: clean up debug functionJean Delvare
From: Jean Delvare <khali@linux-fr.org> Debugging cleanups to the zr36067 driver: * Use module_param_named() to declare the debug parameter, so we can use a single global variable to handle the debug level. This makes the driver a bit smaller (by 648 bytes on x86_64), thanks to one less level of indirection on every use. * Change the debug parameter sysfs permissions, so that the debug level can be adjusted at runtime, as is done in many other media/video drivers. * The debug level is between 0 and 5, not 0 and 4. * Move the zr_debug export and dprintk macro definition to a header file so that we don't have to define them in each source file. * Simplify a duplicate test on zr_debug. Note that zr_debug was subsequently renamed to debug_zr36067 to avoid possible conflicts with other Zoran device drivers, on a suggestion by Trent Piepho. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Acked-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
2007-07-17Use msecs_to_jiffies instead of HZ on bttv, cx88 and saa7134Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-17Use msecs_to_jiffies instead of HZ on some webcam driversMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-17use msecs_to_jiffies on InfraRed RC5 timeoutMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-17Use msecs_to_jiffies instead of HZ on media/video I2C driversMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-17Use msecs_to_jiffies instead of HZ on radio driversMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-17merge: http://linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-17ivtv: fix Kconfig typo and refer to the driver homepage.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-17ivtv: cleanup of driver messagesHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-17ivtv: add support to suppress high volume i2c debug messages.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-17ivtv: don't recompile needlesslyHans Verkuil
From: Alexey Dobriyan <adobriyan@sw.ru> Driver prints banner including kernel version. Was a leftover from when the driver was standalone. Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-17ivtv: fix missing I2C_ALGOBIT config optionHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> I2C_ALGOBIT must also be selected when ivtv is selected. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-17ivtv: improve API command debuggingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Turn off debugging of API commands that occur during encoding or decoding, unless they are explicitly requested. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-16Av7110: fix typoMauro Carvalho Chehab
From: Yoann Padioleau <padator@wanadoo.fr> Parse error in ifdef or bad use of macro. Signed-off-by: Yoann Padioleau <padator@wanadoo.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-16Clean up schedule_timeout calls in cpia2 and ivtv codeMauro Carvalho Chehab
From: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-16Clean up setting state and scheduling timeoutsMauro Carvalho Chehab
From: Robert P. J. Day <rpjday@mindspring.com> Replace assignments to "current->state" with the preferred calls to schedule_timeout_interruptible(). Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-16merge: http://linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-16fix dst and cx24123: tune() callback changed signess for delayMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> tune() dvb_frontend callback changed delay signess: int (*tune)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params, unsigned int mode_flags, - int *delay, + unsigned int *delay, This change caused warnings on cx24123 and dst modules: /home/v4l/master/v4l/cx24123.c:1034: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1782: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1808: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1837: warning: initialization from incompatible pointer type /home/v4l/master/v4l/dst.c:1860: warning: initialization from incompatible pointer type This patch corrects the function prototype on both modules to follow the core change. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-16merge: http://linuxtv.org/hg/~endriss/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-13dvb-core: fix signedness warnings and const strippingTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Make some pointers const, and then delete some now unnecessary casts, which were the wrong signedness anyway, being used to strip the const from another pointer. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-07-13dvb-core: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22)Oliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Fix signedness warnings (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-07-13stv0299: Fix signedness warning (gcc 4.1.1, kernel 2.6.22)Oliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Fix signedness warning (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-07-13dvb-ttpci: re-initialize aspect ratio and pan scan after arm crashOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Re-initialize aspect ratio and pan scan after arm crash. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-07-13saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22)Oliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Fix signedness warnings (gcc 4.1.1, kernel 2.6.22). Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-07-11ir-common: optimize bit extract functionTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> New code is simpler, shorter, compiles to about half the size, and is 2 to 4 times faster depending on how many bits in the mask are set. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-07-10ivtv: add high volume debugging flagHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Add support for high volume debug messages, allowing them to be turned on selectively. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-10ivtv: fix missing signal_pending check.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-10ivtv: Add locking to ensure stream setup is atomic.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Starting an MPEG and VBI capture simultaneously caused errors in the VBI setup: this setup was done twice when it should be done only for the first stream that is opened. Added a mutex to prevent this from happening. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-10tveeprom: add support for Philips FQ1216LME MK3 tuner.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-05stradis: use ARRAY_SIZETrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> sizeof(palette2fmt) / sizeof(u32) => ARRAY_SIZE(palette2fmt) Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-07-05v4l2: Update v4l_printk_ioctl_argTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> v4l_printk_ioctl_arg() is a debug printing function that is normally disabled. It was out of date with one ioctl and had a couple bugs in it elsewhere. This patch gets it in a state where it will work correctly, if it was enabled and used. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-07-05Firmware extract and loading for opera dvb-usb updateMarco Gittler
From: Marco Gittler <g.marco@freenet.de> Better way of creating and loading the firmware used. Update for get_dvb_firmware script to extract the files for opera usb-box Help file for creating the firmware added Signed-off-by: Marco Gittler <g.marco@freenet.de>
2007-07-02Kconfig: Added GemTek USB radio and removed experimental dependency.Douglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@gmail.com> Added GemTek USB radio and removed experimental dependency. Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2007-07-02merge: http://www.linuxtv.org/hg/~tmerle/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-02merge: http://linuxtv.org/hg/~mkrufky/pendingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-02Cleanup on cinergyT2: Remove unneeded if(1)Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Before kernel 2.6.14, the driver checked for status before stopping the thread. So, a compatibility test did exist. After 2.6.14, the if (state) were replaced by: if (1) However, it makes no sense to keep the if(1). Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-02Fix v4l-dvb backward compatibilityMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Due to several internal API changes on kernel, kernel backward compatibility were lost. Basically, compat.h should be the last include for it to work properly. This patch basically reorders kernel headers to allow backward compat to work fine. Also: Some includes were added after some non-include macros, on old drivers. Better to keep all includes at the beginning of the files. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>