- 21 11月, 2008 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Now that we have a polling task for IR, there's a race condition, since IR can be polling while other operations are being doing. Also, we are now sharing the same urb_buf for both read and write control urb operations. So, we need a mutex. Thanks to Davin Heitmueller <devin.heitmueller@gmail.com> for warning me. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Before this patch, every register setup on em28xx were dynamically allocating a temporary buffer for control URB's to be handled. To avoid this ping-pong, use, instead a pre-allocated buffer. Also, be sure that read control URB's also use the buffer, instead of relying on a stack buffer. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 17 11月, 2008 1 次提交
-
-
由 Devin Heitmueller 提交于
The attached patch makes the em28xx auxillary audio input work. Tested with the HVR-950. em28xx: make auxillary audio input work The tuner audio input was working but the aux input wasn't. Tested with the HVR-950. Signed-off-by: NDevin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 26 4月, 2008 1 次提交
-
-
由 Janne Grunau 提交于
Fixes a copy and paste error in check of kzalloc return value. The check block was copied from the previous allocation but the variable wasn't exchanged. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 25 4月, 2008 15 次提交
-
-
由 Devin Heitmueller 提交于
em28xx-core.c - Drop the severity level of the "urb resubmit failed" to debug, since it occurs every time a stream disconnects, which fills the dmesg log Signed-off-by: NDevin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Before this patch, HVR900/HVR950 were incorreclty going back to analog. The result is that only digital were working. This patch provides the proper setup for analog/digital and tuner callback. It also properly resets analog into a sane state at open(). Thanks to Steven Toth <stoth@linuxtv.org> and Michael Krufky <mkrufky@linuxtv.org> for helping to set the proper parameters to GPO/GPIO em2883 ports. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Those printk's were adding more info to a line that were already being printed. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Now, all registers will follow the same convension: EM28XX_R<reg_number>_<reg_name> This allows to associate a register with its value, and also with a canonical name. Also, registers that are specific to a given chip were renamed accordingly, as EM2800_foo (for 2800 only registers) or EM2880_foo (for registers that started to appear on em2880). Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
This is more conservative than just removing the msleep() from em28xx_write_regs_req(), since some old hardware may still need it. So, it will remove the sleep time only for those chips where this removal were tested. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Devin Heitmueller 提交于
em28xx-core.c: - Remove sleep in i2c message routine which slows down i2c by a factor 10x. Load time for BASE firmware went from 13s to .973s Signed-off-by: NDevin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
Signed-off-by: NDouglas Schilling Landgraf <dougsland@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
The analog entries are wrong. Fix it. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Aidan Thornton 提交于
Move the URB setup and management code to em28xx-core.c and generalise it slighlty so that the DVB code can use it. Signed-off-by: NAidan Thornton <makosoft@googlemail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
em28xx based devices with xc3028 may require some specific gpio values. This patch adds a generic handling for such values. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Removes some fields from data structs. There are some fields that are just caching some calculus for buffer size. The calculus were moved to the places it were needed and the now unused fields were removed. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
The usage of videobuf-vmalloc allows to cleanup em28xx logic. Also, it reduced its size by about 5.42% on i386 arch (and about 7.5% on x86_64): 39113 4876 40 44029 abfd old/em28xx.ko 36731 4868 40 41639 a2a7 /home/v4l/master/v4l/em28xx.ko Also, the preliminary tests, made on a single core 1.5 MHz Centrino showed that CPU usage reduced from 42%-75% to 28%-33% (reports from "top") command. A test with time command presented an even better result: This is the performance tests I did, running code_example to get 1,000 frames @29.995 Hz (about 35 seconds of stream), tested on a i386 machine, running at 1,5GHz: The old driver: $ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example 0:34.21: 8.22s User time, 25.16s Kernel time, 97% CPU used The videobuf-based driver: $ time -f "%E: %Us User time, %Ss Kernel time, %P CPU used" ./capture_example 0:35.36: 0.01s User time, 0.05s Kernel time, 0% CPU used Conclusion: The time consumption to receive the stream where reduced from about 33.38 seconds to 0.05 seconds. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Harvey Harrison 提交于
__FUNCTION__ is gcc-specific, use __func__ Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com> Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Sascha Sommer 提交于
Signed-off-by: NSascha Sommer <saschasommer@freenet.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- Static memory is always initialized with 0. - Replaced in some cases C99 comments for /* */ Signed-off-by: NDouglas Schilling Landgraf <dougsland@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 20 3月, 2008 2 次提交
-
-
由 Andrew Morton 提交于
be less silly while we're there. Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Julia Lawall 提交于
In commit e6bafba5, a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. This is not tested and clearly changes the semantics, so it is only something to consider. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression E1,E2; @@ ( !E1 & !E2 | - !E1 & E2 + !(E1 & E2) ) // </smpl> Signed-off-by: NJulia Lawall <julia@diku.dk> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 18 2月, 2008 7 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Thanks to Alan Stern <stern@rowland.harvard.edu> for pointing this issue. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
em28xx driver is capable of handling more than one usb device. However, isoc transfers require a large amount of data to be transfered. Before this patch, just one em28xx board were enough to allocate more than 50% URBs: T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8 B: Alloc=480/800 us (60%), #Int= 0, #Iso= 2 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 So, only one board could use an USB host at the same time. After the patch, it is possible to use more than one em28xx at the same time, on the same usb host, if the image size is slower or equal to 345600, since those images will require about 30% of the URBs: T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8 B: Alloc=232/800 us (29%), #Int= 0, #Iso= 2 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 So, in thesis, after the patch, it would be possible to use up to 3 boards by each usb host, if the devices are generating small images. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Improves audio configurations on em28xx: - mutes audio before changing amux; - adds a delay after setting audio src; - waits up to 50ms for ac97 busy. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
AC97 register initialization seem to always be needed. This patch fixes audio for Prolink/Pixelview USB2 board. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Andrew Morton 提交于
drivers/media/video/em28xx/em28xx-core.c: In function 'em28xx_set_audio_source': drivers/media/video/em28xx/em28xx-core.c:276: warning: 'no_ac97' may be used uninitialized in this function This looks like a genuine bug to me. Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Adrian Bunk 提交于
This patch makes the following needlessly global functions static: - em28xx-core.c:em28xx_write_reg_bits() - em28xx-video.c:em28xx_vdev_init() Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 26 1月, 2008 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
It is possible to select audio inputs via em28xx or via ac97 functions. This patch allows configuring a board to use either one way. It also do some cleanups at audio setup configurations. Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 22 10月, 2007 1 次提交
-
-
由 Florin Malita 提交于
Coverity (CID 1929) spotted the following: if a transfer buffer allocation fails, the last allocated urb is leaked (it hasn't been stored in dev->urb[] yet so em28xx_uninit_isoc misses it). The patch also includes a small typo fix. Signed-off-by: NFlorin Malita <fmalita@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 10 10月, 2007 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
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: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 05 10月, 2006 1 次提交
-
-
由 David Howells 提交于
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: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- 25 6月, 2006 2 次提交
-
-
由 Adrian Bunk 提交于
This patch contains the following possible cleanups: - make the following needlessly global functions static: - em28xx-core.c: em28xx_accumulator_set() - em28xx-core.c: em28xx_capture_area_set() - em28xx-core.c: em28xx_scaler_set() - em28xx-core.c: em28xx_isocIrq() - remove the following unused EXPORT_SYMBOL's: - em28xx-cards.c: em28xx_boards - em28xx-cards.c: em28xx_bcount - em28xx-cards.c: em28xx_id_table Signed-off-by: NAdrian Bunk <bunk@stusta.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mauro Carvalho Chehab 提交于
Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 07 2月, 2006 2 次提交
-
-
由 Markus Rechberger 提交于
fixed i2c return value, conversion mdelay to msleep Signed-off-by: NMarkus Rechberger <mrechberger@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Markus Rechberger 提交于
fixed i2c return value, conversion mdelay to msleep Signed-off-by: NMarkus Rechberger <mrechberger@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 24 1月, 2006 2 次提交
-
-
由 Michael Krufky 提交于
- fixed spelling error, exectuted --> executed. Signed-off-by: NMichael Krufky <mkrufky@m1k.net> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Michael Krufky 提交于
- fixed spelling error, exectuted --> executed. Signed-off-by: NMichael Krufky <mkrufky@m1k.net> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 10 1月, 2006 1 次提交
-
-
由 Michael Krufky 提交于
- 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: NMichael Krufky <mkrufky@m1k.net> Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl> Signed-off-by: NMauro Carvalho Chehab <mchehab@brturbo.com.br>
-