aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/video
AgeCommit message (Collapse)Author
2007-07-30V4L/DVB (5891): zr36067: Turn off raw capture properlyTrent Piepho
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-30V4L/DVB (5890): zr36067: Add UYVY, RGB555X, RGB565X, and RGB32 formatsTrent Piepho
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-30V4L/DVB (5888): zr36067: Driver was not returning correct image sizeTrent Piepho
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-30V4L/DVB (5887): zr36067: Fix poll() operationTrent Piepho
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-30V4L/DVB (5886): zr36067: Fix problem setting normsTrent Piepho
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-26more VIRT_TO_BUS dependenciesAl Viro
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20V4L/DVB (5880): wm8775/wm8739: Fix memory leak when unloading moduleHans Verkuil
State struct was never freed. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5871): Conexant 2388x: check for kthread_runCyrill Gorcunov
The patch adds checking of kthread_run return code and issues a message if it fails. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5869): Add check for valid control ID to v4l2_ctrl_next.Hans Verkuil
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5866): ivtv: fix DMA timeout when capturing VBI + another streamHans Verkuil
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5865): Remove usage of HZ on ivtv driver, replacing by msecs_to_jiffiesMauro Carvalho Chehab
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5861): Use msecs_to_jiffies instead of HZ on bttv, cx88 and saa7134Mauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5860): Use msecs_to_jiffies instead of HZ on some webcam driversMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5858): Use msecs_to_jiffies instead of HZ on media/video I2C driversMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5855): ivtv: fix Kconfig typo and refer to the driver homepage.Hans Verkuil
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5854): ivtv: cleanup of driver messagesHans Verkuil
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5853): ivtv: add support to suppress high volume i2c debug messages.Hans Verkuil
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5852): ivtv: don't recompile needlesslyAlexey Dobriyan
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5851): ivtv: fix missing I2C_ALGOBIT config optionHans Verkuil
I2C_ALGOBIT must also be selected when ivtv is selected. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-20V4L/DVB (5850): ivtv: improve API command debuggingHans Verkuil
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-19some kmalloc/memset ->kzalloc (tree wide)Yoann Padioleau
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc). Here is a short excerpt of the semantic patch performing this transformation: @@ type T2; expression x; identifier f,fld; expression E; expression E1,E2; expression e1,e2,e3,y; statement S; @@ x = - kmalloc + kzalloc (E1,E2) ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\) - memset((T2)x,0,E1); @@ expression E1,E2,E3; @@ - kzalloc(E1 * E2,E3) + kcalloc(E1,E2,E3) [akpm@linux-foundation.org: get kcalloc args the right way around] Signed-off-by: Yoann Padioleau <padator@wanadoo.fr> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Acked-by: Russell King <rmk@arm.linux.org.uk> Cc: Bryan Wu <bryan.wu@analog.com> Acked-by: Jiri Slaby <jirislaby@gmail.com> Cc: Dave Airlie <airlied@linux.ie> Acked-by: Roland Dreier <rolandd@cisco.com> Cc: Jiri Kosina <jkosina@suse.cz> Acked-by: Dmitry Torokhov <dtor@mail.ru> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org> Acked-by: Pierre Ossman <drzeus-list@drzeus.cx> Cc: Jeff Garzik <jeff@garzik.org> Cc: "David S. Miller" <davem@davemloft.net> Acked-by: Greg KH <greg@kroah.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-18V4L/DVB (5847): Clean up schedule_timeout calls in cpia2 and ivtv codeRobert P. J. Day
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5846): Clean up setting state and scheduling timeoutsRobert P. J. Day
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-18V4L/DVB (5844): ivtv: add high volume debugging flagHans Verkuil
Add support for high volume debug messages, allowing them to be turned on selectively. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5843): ivtv: fix missing signal_pending check.Hans Verkuil
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5842): ivtv: Add locking to ensure stream setup is atomic.Hans Verkuil
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5841): tveeprom: add support for Philips FQ1216LME MK3 tuner.Hans Verkuil
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5831): stradis: use ARRAY_SIZETrent Piepho
sizeof(palette2fmt) / sizeof(u32) => ARRAY_SIZE(palette2fmt) Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5826): Usbvision: video mux cleanupThierry MERLE
- usbvision_muxsel simplified, now uses some well known constants. - since the decoder needs to change input norm, call to muxsel added when changing video standard. Signed-off-by: Thierry MERLE <thierry.merle@free.fr> Acked-by: Dwaine Garden <DwaineGarden@rogers.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5825): Alter the tuner type for the WinTV USB UK PAL model.Matthew Garrett
Alter the tuner type for the WinTV USB UK PAL model. Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> Signed-off-by: Thierry MERLE <thierry.merle@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5824): Usbvision: Hauppauge WinTV USB SECAM_L fixThierry MERLE
- Hauppauge WinTV USB SECAM_L fixed (needed some picture X and Y shiftings) Signed-off-by: Thierry MERLE <thierry.merle@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5821): Saa7134: add remote control support for LifeView FlyDVB-S LR300James Le Cuirot
It has been confirmed that the FlyDVB IR codes currently in the kernel work with the LifeView FlyDVB-S LR300. This one line addition adds it to the list of supported cards. Signed-off-by: James Le Cuirot <chewi@aura-online.co.uk> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5819): Cleanup: reorder some includesMauro Carvalho Chehab
Some includes were added after some non-include macros, on old drivers. Better to keep all includes at the beginning of the files. This change also helps to make backports to properly work at the development tree. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5815): Cx88: i2c structure templates clean-upJean Delvare
Clean up the use of structure templates in cx88-i2c and cx88-vp3054-i2c. For one thing, a real template is supposed to be read-only. And in some cases it's more efficient to initialize the few fields we need individually. This clean-up shrinks cx88-i2c.o by 33% and cx88-vp3054-i2c.o by 49% (x86_64). Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5813): TUNER_TEA5761 kconfig fixesAdrian Bunk
The following doesn't make much sense: drivers/media/video/Kconfig: ... config TUNER_TEA5761 tristate "TEA 5761 radio tuner (EXPERIMENTAL)" ... drivers/media/video/Makefile: ... ifneq ($(CONFIG_TUNER_TEA5761),) tuner-objs += tea5761.o endif ... With this setup, TUNER_TEA5761=m is equivalent to TUNER_TEA5761=y. This patch therefore changes TUNER_TEA5761 to a bool. The missing dependency on EXPERIMENTAL the prompt text indicates also gets added by this patch. Additionally, the Makefile entry can now be written in a more compact way. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5811): Use mutex instead of semaphore in Virtual Video driverMatthias Kaehlcke
The Virtual Video driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5809): Use mutex instead of semaphore in Philips webcam driverMatthias Kaehlcke
The Philips webcam driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. -- Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5807): Bttv: Add support for DBG_[SG]_REGISTER ioctlsTrent Piepho
Adds the advanced debugging register read/write ioctl support to the bttv driver. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5806): Bttv: Be consistent in using symbolic names instead of constantsTrent Piepho
For svhs, tuner, and tuner_type, be consistent in using UNSET instead of -1. For tuner_type also consistently use the existing constants: 0 => TUNER_TEMIC_PAL 1 => TUNER_PHILIPS_PAL_I 2 => TUNER_PHILIPS_NTSC 4 => TUNER_ABSENT 5 => TUNER_PHILIPS_PAL 21 => TUNER_TEMIC_4039FR5_NTSC 25 => TUNER_LG_PAL_I_FM Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5805): Bttv: Fix problems with probing for non-existent tunersTrent Piepho
The bttv driver has code to detect if a tda9887 is present, that was previous used to auto-load the tda9887 driver. Now there is no tda9887 driver, so the code is pointless; it just figures out if it should load the driver and then does nothing. For cards that are defined as having no tuner, the init code would still do i2c probes for various tuner devices and auto-load the tuner module. That can be skipped for cards that don't need it. The code is made to understand that in addition to 'UNSET', 'TUNER_ABSENT' also means no tuner. The tuner into printk()s are also made nicer. Levels are added, INFO or WARNING, depending on the meaning. For cards with no tuner, or no tuner defined, a more informative message is printed. Card has no tuner, before patch: bttv0: tuner type=-1 or bttv0: tuner type=4 After patch: bttv0: tuner absent Card has a tuner, but the type isn't defined, before patch: bttv0: tuner type=-1 After patch: bttv0: tuner type unset [<- also warning now, as the tuner won't work right] Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5803): Bttv: add support for DViCO FusionHDTV 2Michael Krufky
add analog video support for DViCO FusionHDTV 2 Thanks to Todd Ignasiak for donating the card. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5801): Tuner: update FCV1236D ranges to match the datasheetMichael Krufky
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5800): Tuner: correct description of Philips FCV1236D tunerMichael Krufky
The old description was "Philips 1236D ATSC/NTSC dual in", which can be confused with other Philips tuner models. This patch corrects the name to "Philips FCV1236D ATSC/NTSC dual in", and updates the range and params array names to match the description. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5793): Tuner: remove hardware-specific info from public headerMichael Krufky
Move internal structures and debug macros to drivers/media/video/tuner-driver.h Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5792): Zr364xx: add support for Trust Powerc@m 970ZAntoine Jacquet
Add Trust Powerc@m 970Z (0x06d6:0x003b) to the list of supported devices. Signed-off-by: Antoine Jacquet <royale@zerezo.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5791): Fix Kbuild for kbd-ir-i2cMauro Carvalho Chehab
Potentially, all board types with I2C and IR support can use an i2c based IR. Currently, the driver is selected only if bt848 or saa7134 boards are selected. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5790): Fix error handling for stv680Mauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5788): Cx88-input: convert nested if's to switch..caseMichael Krufky
In the function, cx88_ir_handle_key: - convert nested if statement to a switch..case block Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5787): Cx88: add remote control support for Leadtek Winfast DTV1000Edgar Pisani
Signed-off-by: Edgar Pisani <episani@onqweb.com.au> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18V4L/DVB (5786): Ir-kbd-i2c: add support for Hauppauge HVR1300 remoteJan Frey
- add support for the I2C based IR transceiver of the Hauppauge HVR-1300 - remove bad code from cx88-input.c Signed-off-by: Jan Frey <jfrey@gmx.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>