Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
cx88-alsa was resetting the card on load, causing the IRQ IR handler
to go away (maybe others, too). There's no actual need to reset the
card, though, so that line was removed
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
__devinit were introduced for the device init functions
kernel-sync:
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Henrik Kretzschmar <henne@nachtwindheim.de>
kernel-sync:
Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
merge:
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Duncan Sands <duncan.sands@math.u-psud.fr>
If the call to cx88_core_get returns a NULL value, it is dereferenced
by cx88_reset, and perhaps by cx88_core_put. Spotted by the Coverity
checker.
Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
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>
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
- fix some sound quality & distortion problems.
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
|
|
make some code static
This patch makes some needlessly global code static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Andrew Morton <akpm@osdl.org>
Not sure what went wrong here, but SND_PCI_PM_CALLBACKS got deleted.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
- static vars are equal to zero by default. Removed
unnecessary =0 from them, saving some data space;
- Fixed compiling against kernels bellow 2.6.13.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
VIDEO_ALSA now actually means "enable ALSA modules". Both cx88 and saa7134
are covered by it (bt87x is disabled as it may conflict with snd_bt87x in
ALSA's tree), and it now defaults to "y".
Signed-off-by:
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
Existing audio DMA uses conflict with cx88-alsa. This workaround disables
that code if cx88-alsa is being compiled
Signed-off-by:
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
Fixed double-spinlock bug
Signed-off-by:
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
Cleaned up some code and excessive debug left behind during development
Signed-off-by:
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
The audio distortion was apparently being caused by the high amount of
interrupts being generated. Increasing the buffer from 512 to 4096 seems
to fix it
Signed-off-by:
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
It's still not perfect (lots of over and underruns), but there's now working
audio.
Dropped the videobuf queues (too geared for video...) in favor of a single
RISC databuffer, and changed the remaining code accordingly. And it works ;)
Signed-off-by:
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
The module can now be removed and reloaded without problems, if the PCM
isn't opened. PCM cleanup is still missing.
Signed-off-by:
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
Changed a few more things in the buffers and ALSA initialization code, but
still no luck. No IRQ activity yet, even with the IRQ mask fixed.
Signed-off-by:
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
the videobuf sequence now looks complete. Still no IRQ activity, though.
Signed-off-by:
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@brtubo.com.br>
|
|
From: Ricardo Cerqueira <v4l@cerqueira.org>
- Bugfixes to allow the module to be removed without hard-locking the system
Signed-off-by:
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
[PATCH 9/11] MEDIA: replace all uses of pci_module_init with pci_register_driver
From: Otavio Salvador <otavio@debian.org>
This patch replace all calls to pci_module_init, that's deprecated and
will be removed in future, with pci_register_driver that should be
the used function now.
Signed-off-by: Otavio Salvador <otavio@debian.org>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
|
|
(snd_cx88_pointer), (snd_cx88_create):
- Fix build warnings and errors.
Signed-off-by: Nickolay V. Shmyrev <nshmyrev@yandex.ru>
|
|
- Whitespace script improved.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
- Some fixups. Still incomplete.
* cx88-core.c:
- New error message.
- spaces replaced by tabs.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
- some DMA code included. Still incomplete.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
- snd register working. Also Capture control.
- pending: pcm functions and fix some trouble when inserting it
with other cx88 functions (cx8800) for example.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
- Added support for future alsa support, yet to be finished.
* bt87x-alsa.c:
- bt87x.c that is inside ALSA tree. Yet to make it compile from here.
* cx88-alsa.c,cx88.h:
- cx88 ALSA skeleton. It is not yet working.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
- Removed remaining trailing spaces.
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
|
|
|
|
|
- cx88: started merging blackbird patches, not working yet.
|