summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
AgeCommit message (Collapse)Author
2007-08-23ivtv: fix V4L2_ENC_CMD_STOP_AT_GOP_END supportHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Support for V4L2_ENC_CMD_STOP_AT_GOP_END was broken. While the driver correctly waited for the card to capture until the GOP was complete, afterwards the driver buffers were just flushed instead of waiting for the application to read all the pending data. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-23ivtv: fix VIDIOC_G_ENC_INDEX flag handlingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Due to a documentation bug (the type mask is 3 bits long, not 2) the wrong frame types were filled in: the B and P frame types were swapped. This bug also hid a second bug: when a capture is stopped a last entry is written into the pgm index buffer with internal type 0, denoting the end of the program. This entry wasn't ignored, instead it was accidentally returned to the caller as a P frame. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-23ivtv: more ivtv-driver.h cleanups.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-23ivtv: reorganized and cleanup ivtv structHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-23ivtv: more cleanups, merged ivtv-audio.c and ivtv-video.c into ivtv-routing.cHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-23ivtv: header cleanupHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - add guards - remove unused header includes - move card-specific stuff from ivtv-driver.h to ivtv-cards.h - move YUV-specific stuff from ivtv-driver.h to ivtv-yuv.h Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-22ivtv-fb: correct transparency bit reporting.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-22ivtv: log in status if framebuffer uses YUV instead of RGBHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-21cx2341x: some controls should not be changed while the device is busy.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The driver should now pass the 'busy' state of the device to the cx2341x module whenever controls are set or tried. -EBUSY will be returned if the device is busy and the user attempts to modify certain 'dangerous' controls. It concerns controls that change the audio or video compression mode and bitrates. The cx88-blackbird and pvrusb2 drivers currently always pass '0' (not busy) to the cx2341x, effectively keeping the old behavior for now. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-21cx88: Improve risc instruction printing in sram channel dumpTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> When the risc instrunctions from the CMDS were printed, instruction arguments weren't taken into account. This changes output like: cx88[0]: risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc1: 0x0cac2800 [ INVALID sol eol 23 21 19 18 13 count=2048 ] cx88[0]: risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc3: 0x0cac2c00 [ INVALID sol eol 23 21 19 18 13 count=3072 ] into: cx88[0]: risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc1: 0x0cac2800 [ arg #1 ] cx88[0]: risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc3: 0x0cac2c00 [ arg #1 ] Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-23From: Jean Delvare <khali@linux-fr.org>Mauro Carvalho Chehab
Subject: ivtv: Fix static structure initialization Date: Thu, 23 Aug 2007 19:32:26 +0200 Convert the initialization of ivtv_i2c_algo_template to C99-style. Otherwise a future change to struct i2c_algo_bit_data would break this code. Also declared that structure const - it's a template after all. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-21Cleanup: remove linux/moduleparam.h from drivers/media filesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Since at least kernel 2.6.12-rc2, module.h includes moduleparm.h. This patch removes all occurences of moduleparm.h from drivers/media files. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-21Coding style fix drivers/media/video/zr36016.cMauro Carvalho Chehab
From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-21Coding style fix drivers/media/video/zr36050.cMauro Carvalho Chehab
From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-21Coding style fix drivers/media/video/zr36060.cMauro Carvalho Chehab
From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-21hybrid tuner refactoring core changes, phase 1Michael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Prepare tuner-core for conversion of tuner sub-drivers into dvb_frontend modules Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Acked-by: Mike Isely <isely@pobox.com> Acked-by: Steven Toth <stoth@hauppauge.com> Acked-by: Patrick Boettcher <pb@linuxtv.org> Acked-by: Jarod Wilson <jwilson@redhat.com> Acked-by: Oliver Endriss <o.endriss@gmx.de> Acked-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-21tuner: kill i2c_client interface to tuner sub-driversMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> To ease the conversion of the analog tuner sub-drivers into dvb_frontend style tuner modules, we must remove the i2c_client interface. dvb_frontend style tuner modules use i2c_transfer directly on the i2c_adapter. This change only alters the interface between tuner.ko and the tuner sub-drivers. The v4l2 / i2c_client interface to tuner.ko remains intact. This patch adds inline functions tuner_i2c_xfer_send, and tuner_i2c_xfer_recv, to replace i2c_master_send and i2c_master_recv inside the tuner sub-drivers. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Acked-by: Hans Verkuil <hverkuil@xs4all.nl> Acked-by: Mike Isely <isely@pobox.com> Acked-by: Steven Toth <stoth@hauppauge.com> Acked-by: Patrick Boettcher <pb@linuxtv.org> Acked-by: Jarod Wilson <jwilson@redhat.com> Acked-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-28tuner: add warning for obsolete i2c address range 0x64 thru 0x6fMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The tuner module has a rather aggressive range of possible i2c addresses. As per the specs available, it appears as if there are no 4-byte tuners that actually use i2c addresses in the range 0x64 thru 0x6f, yet, tuner-core claims the address range 0x60 thru 0x6f. Allowing tuner.ko to probe these addresses can cause potential damage to certain IR receivers, RTC chips or any other IC's that might otherwise reside on the i2c bus using one of these addresses. The plan is to remove these i2c addresses from the i2c address range of the tuner module. If any devices are discovered that actually do have tuners at one of these addresses, the newer i2c probing methods will be used to handle those cases. In order to collect this information and avoid any potential regressions, the following warning has been added upon successful detection of a tuner using an i2c address in the range 0x64 thru 0x6f: ====================== WARNING! ====================== Support for tuners in i2c address range 0x64 thru 0x6f will soon be dropped. This message indicates that your hardware has a {tuner name} tuner at i2c address {addr}. To ensure continued support for your device, please send a copy of this message, along with full dmesg output to v4l-dvb-maintainer@linuxtv.org Please use subject line: "obsolete tuner i2c address." driver: {driver}, addr: {addr}, type: {#} ({tuner name}) ====================== WARNING! ====================== Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-08-21tuner: fix header file includes orderMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> kernel headers go above subsystem headers Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-08-20tuner: fix ifdef tags to match actual file nameMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> The file, tuner-driver.h was originally named tuner-hw.h, but we decided to rename it. At the time, I had forgotten to change the #ifdef __TUNER_HW_H__ to #ifdef __TUNER_DRIVER_H__ . This patch corrects that. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-08-20ivtv: prevent changing VBI format while capture is in progress.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Changing the VBI format requires a CX2341X_ENC_INITIALIZE_INPUT firmware call. This can only be done if no capture is in progress. So return -EBUSY if the encoder is busy. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-20ivtv: fix output mode processing: UDMA_YUV wasn't cleared.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - Always clear when stopping the decoder - Clear if the filehandle that is being close was used for UDMA_YUV output. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-20saa7134: add DVB-T support for Avermedia Super 007Michael Krufky
From: Edgar Simo <bobbens@gmail.com> add DVB-T support for Avermedia Super 007 Analog television is untested. The device lacks input adapters for radio, svideo & composite -- seems to be a DVB-T ONLY device. Signed-off-by: Edgar Simo <bobbens@gmail.com> Acked-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-08-20saa7134-dvb: add missing newlineMichael Krufky
From: Edgar Simo <bobbens@gmail.com> This is a simple whitespace cleanup. Signed-off-by: Edgar Simo <bobbens@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-08-20merge: http://linuxtv.org/hg/~tap/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-20merge: 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-08-19ivtv: add VIDIOC_OVERLAYHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Add VIDIOC_OVERLAY to enable/disable the OSD. Also add the OSD state to the log status report. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: fix IVTV_IOC_DMA_FRAME bug introduced by highmem bugfix.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The return value of ivtv_udma_fill_sg_list() was changed by the highmem bugfix, but that return value was still used in ivtv-yuv.c. Revert to the old return value, but in addition return -1 in case of a memory allocation error. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: log stereo/bilingual audio modesHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: add support for highmem udmaHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> When trying to DMA userspace buffers to the cx23415 you need to check whether the page is in highmem. If this is the case, then bounce buffers have to be used to allow DMA. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv-fb: remove unused header includes.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: move serialization to the fileops level.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Serialization is now done on the open/close/ioctl level and also when the read/write/poll start an encoder/decoder stream. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: improve debug messagesHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - add FILE debug flag for open/close/read/write/poll. - show cmd for encoder/decoder command ioctl. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: specify some stream sizes in kB instead of MBHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Some streams (PCM, VBI decoding) do not need that much memory, so specify the allocated memory in kB instead of MB to limit memory usage. E.g. 1 MB is overkill for the VBI decoding stream, 64 kB is enough. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: setup TV output standard on init to prevent flickerHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The TV output standard was set only on first use, which meant that the saa7127 was set to NTSC until then, leading to flickering on PAL systems. Since the saa7127 has no firmware it is OK to initialize it immediately. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-18cx88-alsa: Use pci_dev->revisionTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The revision is part of the pci_dev struct, so there is no need to read it in. Stop storing the revision and latency in the chip struct, since they're never used after being printed out when the driver loads. linux/pci.h wasn't included. It was getting picked up something else, probably cx88.h, but this file uses struct pci_dev so it should include pci.h. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-18cx88-alsa: Hardware doesn't support mono audioTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> channels_min should be 2, not 1. The hardware only supports stereo. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-18cx88-alsa: Change order of interrupt enabling, fix spurious IRQsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Currently the driver turns on audio interrupts, then sets the audio interrupt mask to select which interrupts to get. One could received unwanted interrupts since the mask is set _after_ interrupts have already been turned on. Change the order of the operations, and clear any audio interrupt status bits that are already set for good measure. Before changing the SRAM FIFO parameters, make sure the FIFO isn't being used. This shouldn't happen with just the ALSA driver, as it should never try to turn on FIFO/RISC/DMA while they are already on. However, the V4L driver needs to turn the audio FIFO on for analog audio output to work (undocumented cx88 bug). The FIFO parameters are in an inconsistent state while they are updated, and this results in many FIFO sync error IRQs if the FIFO is in use while it's in this inconsistent state. Also create and use a bunch of symbolic constants for audio interrupt mask bits. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-18A previously compat patch changed whitespacesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Since the compat patch aren't merged into mainstream, it is better to revert linespace at the development tree. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-18ivtv: fix udma yuv bugHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> Using udma yuv causes the driver becomes locked into that mode. This prevents use of the mpeg decoder & non-udma yuv output. This patch clears the operating mode when the device is closed. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-18cx88-alsa: Call core irq handler when neededTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> When an irq handled by the cx88 core driver (currently IR and errors) occurs and the cx88-alsa irq handler is the first called, it will claim to have handled the irq but it doesn't call cx88_core_irq() to handle it. The means loading cx88-alsa can disable the IR remote. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-18cx88: Add symbolic names for the PCI interrupt bitsTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Used for the PCI_INTMSK and PCI_INT_STAT registers. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-17cx88: Add parameter to control radio deemphasis time constantTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> FM radio transmission use a preemphasis/deemphasis scheme to reduce high-frequency noise. The cx88 audio decoder is supposedly set to no deemphasis by the current driver. However, the "no deemphasis" setting doesn't work. On my chip, cx23883, it produces the same result as the 75 us time constant. Maybe the default settings on the cx23881 are for 50 us? Since the deemphasis time constant varies by country, allow setting it via a module parameter. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-16compat: ALSA compat codeTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Removed some ALSA compat code from bt87x and put it into compat.h, then use this code in cx88-alsa and saa7134-alsa to avoid lots and lots of #ifs. All the kernel version checks in cx88-alsa and saa7134 were off by one too, which is now fixed. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-17Reorder compat.h to the end of includes to avoid errorsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-17Turn an unnecessary mdelay() into msleep().Mauro Carvalho Chehab
From: Marcelo Tosatti <marcelo@kvack.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-17Get rid of an ill-behaved msleep in i2c writeMauro Carvalho Chehab
From: Jonathan Corbet <corbet@lwn.net> Configuring the OLPC camera requires something over 150 register writes. Unfortunately, querying the CAFE i2c controller too soon after a write causes the hardware to flake. The problem had been "solved" with an msleep() call, but, between the number of registers and how msleep() behaves, that resulted in a 3-second delay on camera initialization. Instead, we hand-code a wait for the completion interrupt which avoids reading the status registers. Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-17Avoid powering up the camera on resumeMauro Carvalho Chehab
From: Chris Ball <cjb@laptop.org> Signed-off-by: Chris Ball <cjb@laptop.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-16merge: http://linuxtv.org/~tap/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-15cx88: Clean up some ugly and inconsistent printk()sTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Get rid of the "CORE" prefix from cx88 printks. It was only used a few times, and it makes it look like they're coming from the kernel core or something. Fix the message, "TV tuner 60 at 0x1fe, Radio tuner -1 at 0x1fe", by adding a "cx88[0]" prefix to be consistent, and to keep people who grep their dmesg output for cx88 from missing it. Get rid of the addresses, which are always wrong. The addresses are always set to -1, but because it's an unsigned 8-bit value, the left shift converts it to the nonsense address 0x1fe. In the cx8802 driver, some cut and pasted code prefixed lines with "CORE cx88[0]:", which has been changed to "cx88[0]/2:" like the other printks from the cx8802 driver. Also fix some ugly printks in the cx8802 driver that used __FUNCTION__ for KERN_INFO and KERN_ERR messages. The changed printks in cx88-mpeg.c also needed lots of whitespace and 80-column fixes. A bunch of misc changes in cx88-dvb.c and cx88-video.c to add message levels or a consistent "cx88[?]/2" or "cx88[?]/0" prefix. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>