summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88/cx88-video.c
AgeCommit message (Collapse)Author
2006-10-21IRQ: Maintain regs pointer globally rather than passing to IRQ handlersMauro Carvalho Chehab
Kernel-sync: This patch is required to allow compilation of the tree with kernel 2.6.19. This is the original description of the original patch, signed by David Howells <dhowells@redhat.com>: Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-16cx88: determine whether or not to use external adc based on input settingMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Some cx88-blackbird boards use an external adc, but not necessarily for all inputs. Thus, this needs to be configurable on the card level for each input. This patch allows for the usage of the external adc to be determined by a bit setting in the cx88_input struct for cards based on the cx88 blackbird design. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-10-04cx88: Add support for VIDIOC_INT_[SR]_REGISTER ioctlsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Add support for the advanced debugging ioctls, to allow access to the cx88 registers from userspace. Only i2c_id == 0 is supported, for access to the cx88 adapter itself. There isn't any support for access to I2C clients of the adapter. Most of them don't have R/W registers anyway, and its necessary to use i2c-dev to talk to them from userspace. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2006-09-25Ensure the WM8775 driver is loaded generically for any board.Steven Toth
From: Steven Toth <stoth@hauppauge.com> A generic change to cards to allow any board to specify whether it needs the wm8775 module loaded (by the core) or not. Signed-off-by: Steven Toth <stoth@hauppauge.com>
2006-08-12CONFIG_PM=n slim: drivers/media/video/*Mauro Carvalho Chehab
From: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-30Fix a typo that caused some compat stuff to not workMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Config option typo: -#ifdef CONFIG_V4L1_COMPAT +#ifdef CONFIG_VIDEO_V4L1_COMPAT Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-24OVERLAY flag were enabled by mistakeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> A patch from Aug, 17 activated by mistake OVERLAY flag on cx88-video, together with several cx88-blackbird cleanups. This makes the cx88 driver to report: /dev/video0 [v4l2]: ioctl VIDIOC_G_FBUF: Invalid argument instead of: /dev/video0 [v4l2]: no overlay support Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-23Fix for compilation without V4L1 or V4L1_COMPATMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Removed usage of HAVE_V4L1 Including videodev.h will just include videodev2.h if V4L1 is not supported V4L1 code at core drivers will honor CONFIG_V4L1_COMPAT stuff Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-19[PATCH] 64bit resource: fix up printks for resources in video driversMauro Carvalho Chehab
From: Greg Kroah-Hartman <gregkh@suse.de> This is needed if we wish to change the size of the resource structures. kernel-sync: backport from kernel to v4l/dvb tree Based on an original patch from Vivek Goyal <vgoyal@in.ibm.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-07-19[PATCH] irq-flags: media: Use the new IRQF_ constantsMauro Carvalho Chehab
From: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-27merge: http://linuxtv.org/hg/~mkrufky/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-27kernel sync: use list_move() and fix a typoMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch works fine with previous kernel versions (tested up to 2.6.12). kernel-sync Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-26Remove all instances of request_module("tda9887")Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> We should no longer try to load the tda9887 module, because it no longer exists. The tda9887 driver has been merged into the tuner module. This patch removes all instances of request_module("tda9887") from the following video4linux drivers: bttv, cx88, em28xx and saa7134. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-06-26cx88-blackbird: implement VIDIOC_QUERYCTRL and VIDIOC_QUERYMENUMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> This patch implements the newer v4l2 control features to make the standard user controls and mpeg encoder controls of cx88-blackbird video encoder boards available to userspace. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-04-11Merge: from V4L1 treeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-11Since we are not using CVS, $Id makes no sense anymoreMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-15Merging from mchehab vivi branchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> merge: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-13BUG_ON() Conversion in drivers/video/mediaMauro Carvalho Chehab
From: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-12Cx88 default picture controls valuesMauro Carvalho Chehab
From: Marcin Rudowski <mar_rud@poczta.onet.pl> This patch fixes default values for some picture controls: - brightness set to 50% by default (now is 0%) - hue set to 50% by default (now is 0%) - sets saturation to datasheet value - volume set to 0dB (now is -32dB) and some left small fixes: - twice offset adding - balance didn't follow datasheet (bits[0:5] = attenuation; bit[6] = channel to provide attenuation) Signed-off-by: Marcin Rudowski <mar_rud@poczta.onet.pl> Signed-off-by: Ian Pickworth <ian@pickworth.me.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-10Make video_buf more genericMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Video_buf were concerned to allow PCI devices to be used as video capture devices. This patch extends video_buf features by virtualizing pci-dependent functions and allowing other type of devices to use it. It is still DMA centric, although it may be used also by devices that emulates scatter/gather behavior or a DMA device Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-26cx88: reduce excessive loggingMichael Krufky
From: Ian Pickworth <ian@pickworth.me.uk> - fix temporary debug code by changing printk to dprintk at level 1. - move CORE_IOCTL messages from level 1 to level 2. - this should help with selective debugging, while not filling people's logs up during normal use. Signed-off-by: Ian Pickworth <ian@pickworth.me.uk> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2006-02-06sem2mutex: drivers/media/, #2Mauro Carvalho Chehab
Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Kernel-sync from patch 3318b Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-11From: Panagiotis Issaris <takis@issaris.org>Mauro Carvalho Chehab
Conversions from kmalloc+memset to k(z|c)alloc Conversions from kmalloc+memset to k(z|c)alloc. kernel-sync Signed-off-by: Panagiotis Issaris <takis@issaris.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-01ioctls cleanups.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@brturbo.com.br> - Now, all internal ioctls are at v4l2-common.h - removed unused ioctl at saa6752hs.h - all debug ioctl code moved to v4l2-common.c - removed duplicated stuff from other cards Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-12-10Some fixes at cx88 controlsMauro Carvalho Chehab
- now, default control values at cx88_cx8800_ctls are honored - default value for contrast/saturation were changed to be in line with available documentation for the chipset; - Removed some bad coding at set_control; - U/V Saturation now changes proportionally Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-11-10em28xx IR fixup and explicit compat_ioctl32 handlerMauro Carvalho Chehab
- Commented the code to avoid repeating events when pressing IR keys. - Included explicit compat_ioctl32 handler. CC: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-11-09Moves 32 bit ioctl compat handler to V4L sybsystemMauro Carvalho Chehab
From: Arnd Bergmann <arnd@arndb.de> This moves the 32 bit ioctl compatibility handlers for Video4Linux into a new file and adds explicit calls to them to each v4l device driver. Unfortunately, there does not seem to be any code handling the v4l2 ioctls, so quite often the code goes through two separate conversions, first from 32 bit v4l to 64 bit v4l, and from there to 64 bit v4l2. My patch does not change that, so there is still much room for improvement. Also, some drivers have additional ioctl numbers, for which the conversion should be handled internally to that driver. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-11-06 - #elsif removed, since it breaks gentree stuff.Mauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-10-18 * ../linux/drivers/media/video/cx88/cx88-video.c: (radio_do_ioctl):Nickolay V. Shmyrev
* ../linux/drivers/media/video/saa7134/saa7134-video.c: (video_do_ioctl), (radio_do_ioctl): - Set tuner type in VIDIOC_G_TUNER. Signed-off-by: Elad Lahav <elad_lahav@users.sourceforge.net>
2005-10-17 - Some changes to allow compiling cx88 and saa7134 withoutMauro Carvalho Chehab
V4L1 support. - This patch will help obsoleting V4L1 API. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-10-16- Whitespace Cleanups.Mauro Carvalho Chehab
- Whitespace script improved. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-10-10 - Some fixups for 2.4 kernel.Mauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-10-09From: Mauro Carvalho Chehab <mchehab@brturbo.com.br>Mauro Carvalho Chehab
- Lots of small changes to allow compiling with kernel 2.4. Compilation result not tested yet. - After this patch, .version should be removed, since its syntax has changed. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-09-14 * cx88-core.c:Nickolay V. Shmyrev
- Remove some #if 0 which doesn't have any sense Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
2005-09-11 * cx88-core.c: (cx88_risc_decode):Michael Krufky
* cx88-video.c: (video_read): * cx88.h: - Fix a number of sparse warnings. * videodev2.h: - strip trailing whitespace. Signed-off-by: Peter Hagervall <hager@cs.umu.se> Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-09-06Implemented the v4l2 mpeg api for blackbird cards.Catalin Climov
2005-08-30 * tuner-simple.c: (default_set_radio_freq):Michael Krufky
- The Microtune 4049FM5 uses an IF frequency of 33.3 MHz for FM radio. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> * cx88-video.c: (cx8800_resume): - removed trailing whitespace. * Changelog: - fixed some entries missing mchehab's login. Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-08-30 - Some error treatment implemented at resume functions.Mauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-08-17Small mpeg fixes and cleanups for blackbird.Catalin Climov
* cx88-blackbird.c: - fix mpeg packet size & count - add VIDIOC_QUERYCAP ioctl for the mpeg stream - return more information in struct v4l2_format - fix default window height * cx88-video.c: - small cleanups Signed-off-by: Catalin Climov <catalin@climov.com>
2005-08-17 * cx88-dvb.c: (lgdt330x_pll_set):Nickolay V. Shmyrev
* cx88-video.c: (video_release): * mt20xx.c: (microtune_init): * saa7134-video.c: (video_release): * tda8290.c: (standby), (tda8290_init): * tda9887.c: (tda9887_set_tvnorm), (tda9887_configure), (tda9887_command): * tea5767.c: (set_radio_freq), (tea5767_standby), (tea5767_tuner_init): * tuner-core.c: (set_addr), (check_mode), (set_mode), (tuner_command): * tuner-simple.c: (default_tuner_init): * tuner.h: - New tuner standby API.
2005-08-16Minor clean-ups: remove dcprintk and replace all instances of "dev->core"Catalin Climov
with "core".
2005-08-16Get rid of '//' comments, replace them with #if 0 and /**/.Catalin Climov
2005-08-16Some reorg: move some bits to struct cx88_core, factor out common ioctl'sCatalin Climov
to cx88_do_ioctl.
2005-08-16Prepare for factoring out some common code (see ChangeLog for details).Catalin Climov
2005-08-10 * cx88-video.c:Mauro Carvalho Chehab
- Added some comments about DMA stuff. - Removed obsolete code. * tea5761.c: - Removed an incorrect comment that cames from tea5767.c file. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-07-22 * cx88-video.c:Michael Krufky
- It is importand to write at first to MO_GP3_IO, see datasheet on page 77: "2.3.3 GPIO Normal Mode". Importand is Bit 25 (GP3_MODE), or it is already done in file "cx88-video.c" at "static int video_mux(struct cx8800_dev *dev, unsigned int input)". From: Torsten Seeboth <Torsten.Seeboth@t-online.de> Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-07-15 - linux/version.h removed at linux-2.6.13-rc3-mm1.Mauro Carvalho Chehab
- Removed remaining trailing spaces. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-07-132005-07-08 20:17 mchehabMauro Carvalho Chehab
* cx88-video.c: - After changing channels, reconfigure audio parameters. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-07-07 * cx88-core.c, cx88-mpeg.c, cx88-video.c, cx88.h:Mauro Carvalho Chehab
- Some debug structs moved to their own .c file and converted to static - some // comments converted to #if 0 * cx88-mpeg.c: - Small cleanup for thinks like 0<<14 Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-07-07scripts/buildpatch:Mauro Carvalho Chehab
- Added code to eliminate #if 0 and #if 1 when submiting pathes to new kernel. Miscelaneous CodingStyle stuff. Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>