aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/emu10k1
AgeCommit message (Collapse)Author
2006-10-05IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid 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: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
2006-09-23[ALSA] make sound/pci/emu10k1/emu10k1.c:snd_emu10k1_resume() staticAdrian Bunk
This patch makes the needlessly global snd_emu10k1_resume() static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Fix compile errors with older gccTakashi Iwai
Fixed compile errors with older gcc for initialization of a union. sound/pci/ca0106/ca0106_mixer.c: At top level: sound/pci/ca0106/ca0106_mixer.c:499: unknown field 'p' specified in initializer sound/pci/ca0106/ca0106_mixer.c:499: warning: missing braces around initializer sound/pci/ca0106/ca0106_mixer.c:499: warning: (near initialization for 'snd_ca0106_volume_ctls[0].tlv') Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] emu10k1x: simplify around pci_register_driver()Alexey Dobriyan
Report errors to modprobe as side effect. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] snd-emu10k1: Add a comment explaining the conversion function for dB ↵James Courtier-Dutton
gain. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] snd-emu10k1: Implement dB gain infomation.James Courtier-Dutton
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] snd-emu10k1: Implement 24bit capture via Philips 1361T ADC for SB0240 ↵James Courtier-Dutton
card. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-08-03[ALSA] snd-emu10k1: Implement support for Audigy 2 ZS [SB0353]James Courtier-Dutton
Fixes ALSA bug#1365. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-08-03[ALSA] snd-emu10k1: Fixes ALSA bug#2190James Courtier-Dutton
Fixes ALSA bug#2190 System hangs on unplugging Audigy 2 ZS Notebook CardBus card. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-12[ALSA] Fix section mismatch errors in ALSA PCI driversTakashi Iwai
Fixed 'section mismatch' errors in ALSA PCI drivers: - removed invalid __devinitdata from pci id tables - fix/remove __devinit of functions called in suspend/resume Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-12[ALSA] Fix no mpu401 interface can cause hard freezeRandy Dunlap
This patch fixes the remaining instances in our tree where a non- existent mpu401 interface can cause a hard freeze when i/o is issued. This commit closes Malone #34831. Bug: https://launchpad.net/distros/ubuntu/+source/linux-source-2.6.15/+bug/34831 patch location: http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=b422309cdd980cfefe99379796c04e961d3c1544 From: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-07-02[PATCH] irq-flags: sound: Use the new IRQF_ constantsThomas Gleixner
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> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-22[ALSA] Remove zero-initialization of static variablesTakashi Iwai
Removed zero-initializations of static variables. A tiny optimization. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] Remove unneeded read/write_size fields in proc text opsTakashi Iwai
Remove unneeded read/write_size fields in proc text ops. snd_info_set_text_ops() is fixed, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] emu10k1 - Move EXPORT_SYMBOL() to adjacent to each functionTakashi Iwai
Move EXPORT_SYMBOL() to adjacent to each exported function/variable. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] Add p17v.h file.James Courtier-Dutton
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-06-22[ALSA] emu10k1: Add support for Audigy4 (not Pro)James Courtier-Dutton
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-04-27[ALSA] add __devinitdata to all pci_device_idHenrik Kretzschmar
Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-27[ALSA] sound/pci/: remove duplicate #include'sAdrian Bunk
There's no reason for #include'ing linux/dma-mapping.h more than once. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-04-12[ALSA] emu10k1: Add some descriptive text.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-03-28[PATCH] Replace 0xff.. with correct DMA_xBIT_MASKMatthias Gehre
Replace all occurences of 0xff.. in calls to function pci_set_dma_mask() and pci_set_consistant_dma_mask() with the corresponding DMA_xBIT_MASK from linux/dma-mapping.h. Signed-off-by: Matthias Gehre <M.Gehre@gmx.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-22[PATCH] Intruduce DMA_28BIT_MASKTobias Klauser
This patch introduces the DMA_28BIT_MASK constant in dma-mapping.h ALSA drivers using this mask are changed to use the new constant. Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Acked-by: Takashi Iwai <tiwai@suse.de> Acked-by: Jaroslav Kysela <perex@suse.cz>
2006-03-22[ALSA] emu10k1_synth use after freeDave Jones
Modules: EMU10K1/EMU10K2 driver Thou shalt not dereference freed memory. Coverity bug #958 Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] emu10k1 - Add the entry for Audigy4 SB0400Takashi Iwai
Modules: EMU10K1/EMU10K2 driver Added the missing card entry for Audigy4 SB0400 model. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] semaphore -> mutex (PCI part)Ingo Molnar
Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22[ALSA] emu10k1 - Fix the confliction of 'Front' controlTakashi Iwai
Modules: EMU10K1/EMU10K2 driver Fix the confliction of 'Front' controls on models with STAC9758 codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22[ALSA] emu10k1 - Fix silence problems after suspendTakashi Iwai
Modules: EMU10K1/EMU10K2 driver Fix silence problems on some boards after suspend/resume (bug#1674). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-11[PATCH] move capable() to capability.hRandy.Dunlap
- Move capable() from sched.h to capability.h; - Use <linux/capability.h> where capable() is used (in include/, block/, ipc/, kernel/, a few drivers/, mm/, security/, & sound/; many more drivers/ to go) Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-03[ALSA] snd-emu10k1: Add new SB Live 5.1 PCI-ID.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] snd-emu10k1: Correct control names for Audigy 4 Pro.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] emu10k1 - Clean up p16v codeTakashi Iwai
Modules: EMU10K1/EMU10K2 driver Clean up and optimize the codes in p16v.c - Add proper __devinit* tags - Reduce unnecessary functions using a closure - Fix whitespaces - Rename 'Unknown' to 'Side' controls Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] snd-emu10k1: Add comments regarding chips present on the card.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] snd-emu10k1: Add some comments regarding chip types.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] snd-emu10k1: Tidy SPI code.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] snd-emu10k1: Fix whitespace.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] snd-emu10k1: Fix whitespace.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] snd-emu10k1: Enable speakers on Audigy 2 ZS Notebook.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Description: This enables the 7.1 speaker output of the Audigy 2 ZS Notebook. Further towards fixing ALSA bug#927 TODO: SPDIF/IEC958 output. (untested, might already work) Sound capture. (untested, might already work.) Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] snd-emu10k1: Removes some distortion from Audigy 2 ZS Notebook.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Description: Part way to fix ALSA bug#927 Add support for the SPI interface on the CA0108 chip. This is used to control the registers on the DAC. Headphone output tested. Other outputs and Capture not tested yet. Note: The red LED does not come on, but sound is still OK. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] emu10k1 - Add entry for SB Live 5.1 Digital OEM [SB0220]Gergely Tamas
Modules: EMU10K1/EMU10K2 driver Added the chip-detail entry for SB Live 5.1 Digital OEM [SB0220, (c) 2003]. Signed-off-by: Gergely Tamas <dice@mfa.kfki.hu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] emu10k1 - Fix missing declarationsAndreas Schwab
Modules: EMU10K1/EMU10K2 driver sound/pci/emu10k1/emufx.c: In function 'snd_emu10k1_efx_alloc_pm_buffer': sound/pci/emu10k1/emufx.c:2402: error: implicit declaration of function 'vmalloc' sound/pci/emu10k1/emufx.c:2402: warning: assignment makes pointer from integer without a cast sound/pci/emu10k1/emufx.c: In function 'snd_emu10k1_efx_free_pm_buffer': sound/pci/emu10k1/emufx.c:2413: error: implicit declaration of function 'vfree' Signed-off-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] emu10k1: Partial support for Creative emu1212mJames Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Distorted sound now comes from the Audio Out socket. Still more work to do. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] Optimize for config without PROC_FS (pci drivers)Takashi Iwai
Optimize the code when compiled without CONFIG_PROC_FS for some pci drivers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] emu10k1 - Add PM supportTakashi Iwai
Modules: EMU10K1/EMU10K2 driver Add PM support to emu10k1 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] Remove xxx_t typedefs: PCI emu10k1xTakashi Iwai
Modules: EMU10K1/EMU10K2 driver Remove xxx_t typedefs from the PCI emu10k1x driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] Remove xxx_t typedefs: PCI emu10k1Takashi Iwai
Modules: EMU10K1/EMU10K2 driver Remove xxx_t typedefs from the PCI emu10k1 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] emu10k1 - Minor clean up of memory block handlingTakashi Iwai
Modules: EMU10K1/EMU10K2 driver Minor clean up of emu10k1 memory block allocation. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] emu10k1x - Minor clean upTakashi Iwai
Modules: EMU10K1/EMU10K2 driver Minor clean up of the emu10k1x interrupt handler code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] Remove superfluous pcm_free callbacksTakashi Iwai
Remove superflous pcm_free callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] snd-emu10k1: Found some new registers to display in debug mode.James Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2006-01-03[ALSA] snd-emu10k1: Attenuate output volume to reduce distortionJames Courtier-Dutton
Modules: EMU10K1/EMU10K2 driver on Audigy 2 ZS Notebook. Set the master volume to about 6 or 8% in alsamixer. This will attenuate the output enough for better sound quality. Note: Only stereo enabled at present. The distortion is caused by the output path after the DSP adding 12dB gain to the output while still in digital mode, resulting in wrap around distortion. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>