Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Used for the PCI_INTMSK and PCI_INT_STAT registers.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
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>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync:
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Alexey Dobriyan <adobriyan@gmail.com>
error: 'DMA_32BIT_MASK' undeclared
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: vignesh.babu@wipro.com <vignesh.babu@wipro.com>
Replacing kmalloc/memset combination with kzalloc.
Signed-off-by: vignesh babu <vignesh.babu@wipro.com>
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>
cx88_print_irqbits were expecting a string pointer with 32 bytes. Better
to pass the string size and use ARRAY_SIZE on its calls.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
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>
|