path: root/sound/pci/cs46xx/cs46xx_lib.c
AgeCommit message (Collapse)Author
2011-06-10ALSA: use KBUILD_MODNAME for request_irq argument in sound/pci/*Takashi Iwai
The name argument of request_irq() appears in /proc/interrupts, and it's quite ugly when the name entry contains a space or special letters. In general, it's simpler and more readable when the module name appears there, so let's replace all entries with KBUILD_MODNAME. Signed-off-by: Takashi Iwai <>
2010-04-13ALSA: info - Check file position validity in common layerTakashi Iwai
Check the validity of the file position in the common info layer before calling read or write callbacks in assumption that entry->size is set up properly to indicate the max file size. Removed the redundant checks from the callbacks as well. Signed-off-by: Takashi Iwai <>
2010-04-13ALSA: info - Use standard types for info callbacksTakashi Iwai
Use loff_t, size_t and ssize_t for arguments of info callbacks to follow the standard procfs. Signed-off-by: Takashi Iwai <>
2010-02-18ALSA: cs46xx - fix some typosFlorian Zumbiehl
Signed-off-by: Florian Zumbiehl <> Signed-off-by: Takashi Iwai <>
2010-02-18ALSA: cs46xx - Do test writes to register AC97_REC_GAIN inFlorian Zumbiehl
snd_cs46xx_codec_reset() bypassing the register cache, so as to not clobber the cached register value during resume. Signed-off-by: Florian Zumbiehl <> Signed-off-by: Takashi Iwai <>
2010-01-26ALSA: cs46xx: Fix cpu idling with resumeFlorian Zumbiehl
Make sure that capture DMA doesn't stay enabled after system resume as that potentially prevents the processor from entering deep sleep states. Signed-off-by: Florian Zumbiehl <> Signed-off-by: Takashi Iwai <>
2009-12-22ALSA: cs46xx - Fix suspend/resume with new DSPTakashi Iwai
Fix the basic suspend/resume of snd-cs46xx drivers with new DSP. References: Tested-by: Florian Zumbiehl <> Signed-off-by: Takashi Iwai <>
2009-02-05ALSA: Fix missing KERN_* prefix to printk in sound/pciTakashi Iwai
Signed-off-by: Takashi Iwai <>
2008-12-01ALSA: Fix a compile warning in cs46xx_lib.cTakashi Iwai
Fix a build warning sound/pci/cs46xx/cs46xx_lib.c:3643: warning: unused variable ā€˜iā€™ when CONFIG_SND_CS46XX_NEW_DSP=n. Signed-off-by: Takashi Iwai <>
2008-10-10ALSA: cs46xx: Add PCI IDs for TerraTec and Hercules cardsVedran Miletic
This patch adds PCI IDs for: * TerraTec DMX XFire 1024 * Hercules Gamesurround Fortissimo II * Hercules Gamesurround Fortissimo III 7.1 All those cards were supported as generic CS46xx device, so they will work as before. I'm pretty sure that first two cards work, as they have same hardware design as reference card. Not sure about Fortissimo III, but this won't break it if it worked. Tested on TerraTec DMX XFire 1024. Signed-off-by: Vedran Miletic <> Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2008-08-13ALSA: Kill snd_assert() in sound/pci/*Takashi Iwai
Kill snd_assert() in sound/pci/*, either removed or replaced with if () with snd_BUG_ON(). Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2008-04-24[ALSA] Fix possible races at free_irq in PCI driversTakashi Iwai
The irq handler of PCI drivers must be released before releasing other resources since the handler for a shared irq can be still called and may access the freed resource again. Signed-off-by: Takashi Iwai <>
2008-01-31[ALSA] Remove sound/driver.hTakashi Iwai
This header file exists only for some hacks to adapt alsa-driver tree. It's useless for building in the kernel. Let's move a few lines in it to sound/core.h and remove it. With this patch, sound/driver.h isn't removed but has just a single compile warning to include it. This should be really killed in future. Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2008-01-31[ALSA] sound/: Spelling fixesJoe Perches
Signed-off-by: Joe Perches <> Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2008-01-31[ALSA] sound: remove dead config symbol from sound codeJiri Olsa
remove dead config symbols from sound code Signed-off-by: Jiri Olsa <> Signed-off-by: Andrew Morton <> Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2007-10-16[ALSA] Changed Jaroslav Kysela's e-mail from to perex@perex.czJaroslav Kysela
Signed-off-by: Jaroslav Kysela <>
2007-10-16[ALSA] Clean up with common snd_ctl_boolean_*_info callbacksTakashi Iwai
Clean up codes using the new common snd_ctl_boolean_*_info() callbacks. Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2007-07-20[ALSA] cs46xx - Fix PM resumeTakashi Iwai
Fixed PM resume of cs46xx devices. It now restores properly the DSP image and kick-off the DSP. Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2007-05-11[ALSA] Fix alsa-devel ML addressRene Herman
This replaces all occurences of alsa-devel@lists.s[ource]f[orge].net that a simple recursive grep found in the current HG ALSA repos by Signed-off-by: Rene Herman <> Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2006-12-20[ALSA] Remove IRQF_DISABLED for shared PCI irqsTakashi Iwai
Fix IRQ flags for PCI devices. The shared IRQs for PCI devices shouldn't be allocated with IRQF_DISABLED. Also, when MSI is enabled, IRQF_SHARED shouldn't be used. The patch removes unnecessary cast in request_irq and free_irq, too. Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
2006-10-22[ALSA] Various fixes for suspend/resume of ALSA PCI driversTakashi Iwai
- Check the return value of pci_enable_device() and request_irq() in the suspend. If any error occurs there, disable the device using snd_card_disconnect(). - Call pci_set_power_state() properly with pci_choose_state(). - Fix the order to call pci_set_power_state(). - Removed obsolete house-made PM codes in some drivers. Signed-off-by: Takashi Iwai <> Signed-off-by: Jaroslav Kysela <>
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 <> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
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 <> Signed-off-by: Jaroslav Kysela <>
2006-07-02[PATCH] irq-flags: sound: Use the new IRQF_ constantsThomas Gleixner
Signed-off-by: Thomas Gleixner <> Cc: Ingo Molnar <> Cc: "David S. Miller" <> Cc: Benjamin Herrenschmidt <> Cc: Jaroslav Kysela <> Cc: Takashi Iwai <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
2006-06-22[ALSA] Fix possible races in PCI driver removalTakashi Iwai
Call free_irq() before releasing others to avoid races when shared irq is issued. Signed-off-by: Takashi Iwai <>
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 <> Signed-off-by: Andrew Morton <> Signed-off-by: Takashi Iwai <>
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 <>
2006-01-03[ALSA] cs46xx - Fix PM supportTakashi Iwai
Modules: CS46xx driver Fix PM support on CS46xx driver. Signed-off-by: Takashi Iwai <>
2006-01-03[ALSA] Remove xxx_t typedefs: PCI CS46xxTakashi Iwai
Modules: CS46xx driver Remove xxx_t typedefs from the PCI CS46xx driver. Signed-off-by: Takashi Iwai <>
2006-01-03[ALSA] Remove superfluous pcm_free callbacksTakashi Iwai
Remove superflous pcm_free callbacks. Signed-off-by: Takashi Iwai <>
2005-11-04[ALSA] Add missing KERN_* suffix to printkTakashi Iwai
Add missing KERN_* suffix to printk. Signed-off-by: Takashi Iwai <>
2005-11-04[ALSA] Remove vmalloc wrapper, kfree_nocheck()Takashi Iwai
- Remove vmalloc wrapper - Add release_and_free_resource() to remove kfree_nocheck() from each driver and simplify the code Signed-off-by: Takashi Iwai <>
2005-09-12[ALSA] Replace with kzalloc() - pci stuffTakashi Iwai
AD1889 driver,ATIIXP driver,ATIIXP-modem driver,AZT3328 driver BT87x driver,CMIPCI driver,CS4281 driver,ENS1370/1+ driver ES1938 driver,ES1968 driver,FM801 driver,Intel8x0 driver Intel8x0-modem driver,Maestro3 driver,SonicVibes driver,VIA82xx driver VIA82xx-modem driver,AC97 Codec,AK4531 codec,au88x0 driver CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,HDA Codec driver HDA generic driver,HDA Intel driver,ICE1712 driver,ICE1724 driver KORG1212 driver,MIXART driver,NM256 driver,Trident driver,YMFPCI driver Replace kcalloc(1,..) with kzalloc(). Signed-off-by: Takashi Iwai <>
2005-09-12[ALSA] pci_find_device removeJiri Slaby
Memalloc module,CS46xx driver,VIA82xx driver,ALI5451 driver au88x0 driver Replace pci_find_device() with pci_get_device() and pci_dev_put(). Signed-off-by: Jiri Slaby <> Signed-off-by: Takashi Iwai <>
2005-09-12[ALSA] Remove superfluous PCI ID definitionsTakashi Iwai
CS46xx driver,EMU10K1/EMU10K2 driver,PCM Midlevel,Trident driver YMFPCI driver,BT87x driver,CMIPCI driver,CS4281 driver ENS1370/1+ driver,ES1938 driver,ES1968 driver,Intel8x0 driver Intel8x0-modem driver,Maestro3 driver,RME32 driver,RME96 driver SonicVibes driver,VIA82xx driver,ALI5451 driver,ICE1712 driver ICE1724 driver,NM256 driver,RME HDSP driver,RME9652 driver Remove superfluous PCI ID definitions. Signed-off-by: Takashi Iwai <>
2005-08-30[ALSA] PCM resume cleanupsJaroslav Kysela
Digigram VX core,CS4231 driver,ATIIXP driver,VIA82xx driver VIA82xx-modem driver,au88x0 driver,CS46xx driver,Trident driver This patch disables SNDRV_PCM_INFO_RESUME flag for drivers which does not support the full resume. Signed-off-by: Jaroslav Kysela <>
2005-08-30[ALSA] use SNDRV_CTL_NAME_IEC958 macroClemens Ladisch
CMI8330 driver,ENS1370/1+ driver,FM801 driver,VIA82xx driver,AC97 Codec ALI5451 driver,CS46xx driver,EMU10K1/EMU10K2 driver,HDA Codec driver ICE1712 driver,ICE1724 driver Where appropriate, use the SNDRV_CTL_NAME_IEC958 instead of a literal string. Signed-off-by: Clemens Ladisch <>
2005-08-30[ALSA] sound - fix .iface field of mixer control elementsClemens Ladisch
Documentation,CS46xx driver,EMU10K1/EMU10K2 driver,AD1848 driver SB16/AWE driver,CMIPCI driver,ENS1370/1+ driver,RME32 driver RME96 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver RME HDSP driver,RME9652 driver This patch changes .iface to SNDRV_CTL_ELEM_IFACE_MIXER whre _PCM or _HWDEP was used in controls that are not associated with a specific PCM (sub)stream or hwdep device, and changes some controls that got inconsitent .iface values due to copy+paste errors. Furthermore, it makes sure that all control that do use _PCM or _HWDEP use the correct number in the .device field. Signed-off-by: Clemens Ladisch <>
2005-07-28[ALSA] sound/pci: fix-up sleeping pathsNishanth Aravamudan
ENS1370/1+ driver,ES1968 driver,Intel8x0 driver,VIA82xx driver VIA82xx-modem driver,AC97 Codec,ALI5451 driver,CS46xx driver MIXART driver,RME HDSP driver,Trident driver,YMFPCI driver Description: Fix-up sleeping in sound/pci. These changes fall under the following two categories: 1) Replace schedule_timeout() with msleep() to guarantee the task delays as expected. This also involved replacing/removing custom sleep functions. 2) Do not assume jiffies will only increment by one if you request a 1 jiffy sleep, i.e. use time_after/time_before in while loops. Signed-off-by: Nishanth Aravamudan <> Signed-off-by: Jaroslav Kysela <>
2005-06-22[ALSA] Remove redundant NULL checks before kfreeJesper Juhl
Timer Midlevel,ALSA sequencer,ALSA<-OSS sequencer,Digigram VX core I2C tea6330t,GUS Library,VIA82xx driver,VIA82xx-modem driver CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,YMFPCI driver Digigram VX Pocket driver,Common EMU synth,USB generic driver,USB USX2Y Checking a pointer for NULL before calling kfree() on it is redundant, kfree() deals with NULL pointers just fine. This patch removes such checks from sound/ This patch also makes another, but closely related, change. It avoids casting pointers about to be kfree()'ed. Signed-off-by: Jesper Juhl <> Signed-off-by: Takashi Iwai <>
2005-04-16Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!