summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-08-18ivtv: retry/timer improvementsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - Give up frame after three retries. - When the last capture/decode ends, make sure to delete the dma_timer. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-18ivtv: fix VBI reinsertion decodingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - Invalid VBI packets should result in an empty VBI frame, not in an zero-sized frame that causes the reader to incorrectly return a 0 (EOF) value. - PIO completion should not reset the sg_pending_size field. - The DMA offset detection code should be ignored for PIO transfers: it somehow messes up the data on the card and is not needed anyway for PIO. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-29ivtv: fix stop stream locking.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-29ivtv: Fix scatter/gather DMA timeoutsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It turns out that the cx23415/6 DMA engine cannot do scatter/gather DMA reliably. Every so often depending on the phase of the moon and your hardware configuration the cx2341x DMA engine simply chokes on it and you have to reboot to get it working again. This change replaced the scatter/gather DMA by single transfers at a time, where the driver is now responsible for DMA-ing each buffer. UDMA is still done using scatter/gather DMA, that will be fixed soon. Many thanks to Mark Bryars <mark.bryars@etvinteractive.com> for discovering the link between scatter/gather and the DMA timeouts. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-28ivtv: always steal full frames if out of buffers.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> When there are no more free buffers, then buffers are stolen from the predma queue. Buffers should be stolen from the head of that queue (which is where the most recently added buffers are) and all buffers belonging to a frame should be stolen. Otherwise 'half-frames' would remain in the queue, which leads to ugly playback and complete sync failure for YUV buffers. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-18ivtv: fix handling of INITIALIZE_INPUT fw callHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The CX2341X_ENC_INITIALIZE_INPUT firmware call requires careful handling, otherwise the computer can freeze or the top-third of the screen can start flickering. This patch ensures that CX2341X_ENC_INITIALIZE_INPUT is called at the right time and in the right way. In addition the stop capture handling was improved so that the last pending DMA transfer is also processed. Otherwise this would be the first data that arrived when a new capture was started which is not what you want. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-18vp27smpx: clarify history of this source.Hans Verkuil
From: Kazuhiko Kawakami <kazz-0@mail.goo.ne.jp> Signed-off-by: Kazuhiko Kawakami <kazz-0@mail.goo.ne.jp> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-18ivtv: fix incorrect round-robin implementationHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-18merge: 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-17Fix for bug 7819: fixed hotplugging for dvbnetMauro Carvalho Chehab
From: Trent Piepho <xyzzy@speakeasy.org> This patch removes the 'wait_queue' memory of dvb_demux. The patch replace the (file_operations)->release pointer with the new function dvb_net_close() in place of dvb_generic_release(). The first part of dvb_net_close() is just a cut&paste from dvb_generic_release(), so maybe it would be better to just call dvb_generic_release() instead? Acked-by: Markus Rechberger <mrechberger@gmail.com> Acked-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-17compat: Fix device_create compat codeTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The current compat code for device_create/destroy doesn't work properly for kernels 2.6.14 or below, and 2.6.18 to 2.6.23. For kernels 2.6.14 and below, the device_create/destroy compat code wasn't enabled. Those kernels need it too. For kernels 2.6.18 to 2.6.23, compat code _was_ getting including, which caused errors since 2.6.18 and above already have device_create and device_destroy. 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-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-17Make dvbdev compatible again with older kernel versionsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> class_device_create/class_device_destroy are being replaced by device_create/device_destroy. This patch make it backward compatible. 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-16compat: Add missing compat.hTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> dvb_ca_en50221.c and dvb-pll.c were missing compat.h, and they used kzalloc which is something that compat.h takes care of. 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-16Net_ule(): fix check-after-useMauro Carvalho Chehab
From: Adrian Bunk <bunk@kernel.org> The Coverity checker spotted that we'd have already oops'ed if "dev" was NULL. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Manu Abraham <manu@linuxtv.org> 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-16master: http://linuxtv.org/hg/~mkrufky/dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-15get_dvb_firmware: update script for new location of tda10046 firmwareMichael Krufky
From: Andreas Arens <ari@goron.de> Update get_dvb_firmware script for the new location of the tda10046 firmware. The old location doesn't work anymore. Signed-off-by: Andreas Arens <ari@goron.de> Signed-off-by: Michael Krufky <mkrufky@linuxtv.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>
2007-08-15cx88: Move card core creation from cx88-core.c to cx88-cards.cTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> A lot of code in cx88-cards.c was only used by cx88-core.c when the core state is first allocated and initialized. Moving that task to cx88-cards makes the driver simpler and the files more self contained. - Module parameters tuner, radio, card, and latency move to cx88-cards.c - cx88_boards is made static - cx88_subids is made static and const - cx88_bcount is eliminated - cx88_idcount is eliminated - cx88_card_list() is made static - cx88_card_setup_pre_i2c() is made static - cx88_card_setup() is made static - cx88_pci_quirks() is moved from cx88-core to cx88-cards The function argument "char *name" is made const too - get_ressources() is moved from cx88-core to cx88-cards, and renamed to cx88_get_resources() - The code to allocate and initialize the core state struct and the chip is moved out of cx88-core.c:cx88_get_core() and into a new function in cx88-cards.c, cx88_core_create(). This makes both functions simpler. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-15cx88: Copy board information into card stateTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The cx88 driver state stored the ID of the board type in core->board. Every time the driver need to get some information about the board configuration, it uses the board number as an index into board configuration array. This patch changes it so that the board number is in core->boardnr, and core->board is a copy of the board configuration information. This allows access to board information without the extra indirection. e.g. cx88_boards[core->board].mpeg becomes core->board.mpeg. This has a number of advantages: - The code is simpler to write. - It compiles to be smaller and faster, without needing the extra array lookup to get at the board information. - The cx88_boards array no longer needs to be exported to all cx88 modules. - The boards array can be made const - It should be possible to avoid keeping the (large) cx88_boards array around after the module is loaded. - If module parameters or eeprom info override some board configuration setting, it's not necessary to modify the boards array, which would affect all boards of the same type. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-15DVB: convert struct class_device to struct deviceMichael Krufky
From: Kay Sievers <kay.sievers@vrfy.org> The currently used "struct class_device" will be removed from the kernel. Here is a trivial patch that converts DVB to use struct device. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-08-13cx88: Fix use of uninitialized variableTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> An error message for PCI resource allocation failure used the board type before it was set. Just get rid of the error message, as get_ressources() [sic] already prints one. Format that error message better, and add the pci function and subsystem information to better associate the error with what caused it. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-13cx88: Make card database more memory efficientTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The vmux setting is only two bits, but was taking up a whole 32 in the input description struct. By changing it to a two-bit bitfield, it can fit in what was padding space before and drop the input size by 4 bytes, from 28 to 24. This drops the board description struct, which has 9 inputs, from 280 to 244 bytes. Total driver size decreases by 2108 bytes. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-13build: make whitespace cleaning script work with qrefresh targetTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Files changed in an mq patch weren't being checked. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-13merge: http://linuxtv.org/hg/~mkrufky/tunerMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-13Initialize filp->private_data only once in em28xx_v4l2_openMauro Carvalho Chehab
From: Rolf Eike Beer <eike-kernel@sf-tec.de> Some lines later filp->private_data is initialized to dev again. Since there are some checks that might fail in the mean time keep the later version. Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-13merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb2Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-11dvb-pll: Set minimum and maximum frequency properlyTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The tuner maximum frequency wasn't being set, while the minimum frequency was set to what the maximum should have been. The recent patch to enforce the limits effectively broken any tuner using dvb-pll. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-08-11tuner: move last_div to tuner-simple private dataMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> tuner-simple is the only sub-driver that uses last_div, so we can free up two bytes of memory for all other tuners, by moving this into tuner-simple's private data area. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-08-09vp27smpx: correctly attribute the origin of the driver to Kazuhiko Kawakami.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It took some time to get the S-O-B line from the original tvaudio patch author, but here it is. Signed-off-by: Kazuhiko Kawakami <kazz-0@mail.goo.ne.jp> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-09cinergyt2_suspend: don't forget to unlock cinergyt2->wq_semMauro Carvalho Chehab
From: Oleg Nesterov <oleg@tv-sign.ru> Restore unlock of cinergyt2->wq_sem, was deleted by accident. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-09V4L: Add additional ioctls to compat_ioctl32Mauro Carvalho Chehab
From: Steven Walter <stevenrwalter@gmail.com> With the addition of these ioctls, I'm able to watch TV with a 32-bit version of tvtime on x86_64. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-09From: Simon Arlott <simon@fire.lp0.eu>Mauro Carvalho Chehab
Since videobuf_waiton is called with intr=1, it can return -EINTR and therefore err may be non-zero. This happens when the system goes into the standby state. Without the BUG() occurring, there's no problem with standby mode while DVB is being used. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-09saa7146: clean-up irq processingOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> Interrupt processing fixed: First handle interrupt, then acknowledge it. Otherwise the same interrupt might occur twice. Cleaned-up i2c interrupt handler and i2c error messages. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-08-09dvb_frontend: Fixed GET_INFO ioctl and check of frequency limitsOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> The calculation of frequency limits ignored tuner-specific frequency limits. Range checks and GET_INFO ioctl updated accordingly. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-08-09Fix the min/max frequencies of some DVB-C frontendsOliver Endriss
From: Hartmut Birr <e9hack@googlemail.com> The min frequencies of the DVB-C frontends are wrong. In Europe, the center frequency of the lowest channel is 50.5MHz and not 51MHz. All known cards with the stv0297/tda0002x/ves1820 frontend are able to tune to this frequency. I've changed the range to the lowest channel - 1/2 bandwidth and the highest channel + 1/2 bandwidth. For the design of the dvb driver, the frequency ranges must be part of the tuner and not of the frontend itself. The same frontend may be used for different tuners. The attached patch does only fix the ranges and not the design. Signed-off-by: Hartmut Birr <e9hack@googlemail.com> Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
2007-08-07Add a consistency check tool into hgimportMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Add a consistency tool into hgimport. This tool will follow the node IDs to determine if a patch series follows the same origin, or if there were some merge inside the patch series. This tool helps to check if something wrong might be happen into a patch series, or if troubles will be expected during the -git patchset generation procedures. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-07ivtv: remove unused struct field.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-07ivtv: remove userspace tuner dependent codeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> By request of mchehab I've removed the userspace tuner dependent code. Use my v4l-dvb-xc tree in the meantime for the userspace tuner support. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-06Arv.c: fix memset in ioctlMauro Carvalho Chehab
From: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Hello, Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-06Dev.c: memset fixMauro Carvalho Chehab
From: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Hello, Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-06Zoran_driver.c: fix memset in ioctlMauro Carvalho Chehab
From: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Hello, Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-08-06tda8083: fix frequency and symbolrate infoOliver Endriss
From: Oliver Endriss <o.endriss@gmx.de> The TDA8083 supports a symbol rate from 12..30 MSym/s. The Grundig 29504-451 tuner uses the TDA8060 down-converter, which has a frequency range from 920..2200MHz. Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Thanks-to: Lars Buerding <lindvb@metatux.net>
2007-08-05ivtv: set correct input for radio for the AverMedia M116 card.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>