aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/ice1712
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] ak4xxx - Remove bogus IPGA controlsTakashi Iwai
Remove IPGA volume controls and merge the IPGA range to ADC volume controls. These two volumes are not really independent but connected simply in different ranges 0-0x7f and 0x80-max. It doesn't make sense to provide two controls. Since both 0x7f and 0x80 specify 0dB, a hack is needed for IPGA range to skip 0x80 (increment one) for such controls. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Add dB scale information to ice1724 driverTakashi Iwai
Added the dB scale information to each board support code of ice1724 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Add dB scale information to ice1712 driverTakashi Iwai
Added the dB scale information for native digital volumes of ice1712 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Clean up and add TLV support to AK4xxx i2c driverTakashi Iwai
- Clean up the code in AK4xxx-ADDA i2c code. - Fix capture gain controls for AK5365 - Changed the static table for DAC/ADC mixer labels to use structs - Implemented TLV entries for each AK codec The volumes in AK4524, AK4528 and AK5365 are corrected with a table to be suitable for dB conversion. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] ice1712 - fix 1600->16000Hz value typoJaroslav Kysela
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Revolution 5.1 - complete the AK5365 supportJochen Voss
Complete the AK5365 support. This adds a boolean control to toggle the soft mute feature of the AK5365 chip. Signed-off-by: Jochen Voss <voss@seehuhn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] Revolution 5.1 - register the AK5365 ADC with ALSAJochen Voss
Enable capture support for the M-Audio Revolution 5.1 card, by registering the ADC with ALSA. Signed-off-by: Jochen Voss <voss@seehuhn.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> 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] Reduce the string length of Terratec Aureon 7.1 UniverseTakashi Iwai
Fix the driver string name for Terratec Aureon 7.1 Universe to fit in 15 letters to avoid the overflow. 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-28[ALSA] Stereo controls for M-Audio Revolution cardsJani Alinikula
This patch adds stereo controls to revo cards by making the ak4xxx driver mixers configurable from the card driver. Signed-off-by: Jani Alinikula <janialinikula@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-06-22[ALSA] ice1712 - Set mpu401 info flags from _card_infoAlan Horstmann
To permit use, in ice1712, of the mpu401 info flags recently added to mpu401_uart, adds info_flags in snd_ice1712_card_info so that additional flags can be set, if desired.  'MPU401_INFO_INTEGRATED' is always set with the ice1712.  The flags are passed on to snd_mpu401_uart_new(). _INFO_OUTPUT is set for DMX6fire mpu2. Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] ice1724 - Add functionality for Audiotrak Prodigy 7.1 LTTakashi Iwai
This patch adds support for useable front audio channels, user controllable headphone channel and optical output. From: Anho Ki Signed-off-by: Matt Taylor <mwtaylor@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] ice1712 - Disable AC97 for DMX6fireAlan Horstmann
Consumer AC97 is not used by the Terratec DMX6fire, but eeprom bit indicates it is; change the stored value to disable failing consumer mode. Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22[ALSA] Change an arugment of snd_mpu401_uart_new() to bit flagsTakashi Iwai
Change the 5th argument of snd_mpu401_uart_new() to bit flags instead of a boolean. The argument takes bits that consist of MPU401_INFO_XXX flags. The callers that used the value 1 there are replaced with MPU401_INFO_INTEGRATED. 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] ice1712 - Provides specified midi port names instead of defaultsAlan Horstmann
Patch provides for the ice1712 card driver to overwrite the midi port name string given by default in mpu401_uart, with one specified in snd_ice1712_card_info. Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
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-03-31[ALSA] Add Aux input switch control for Aureon UniverseMaximilian Rehkopf
This patch adds a mixer control which allows the user to switch the Aux playback between the internal Aux jack, Wavetable, and Rear Line-In on Aureon Universe cards. For switching, a PCA9554 (8-line GPIO with I2C interface) and a 74HC4052 (dual 4-way mux/demux) are used. Output 0 and 1 of the PCA9554 are connected to the select pins of the 74HC4052. The I2C interface of the PCA9554 is connected to the card's internal SPI bus which is also used to control the WM8770 and CS8415. SPI and I2C on the same lines... To communicate with the PCA9554 the WM8770 and CS8415 are disabled and an I2C Stop Condition is generated before the Start Condition (needed for synchronisation because other SPI traffic appear to confuse the PCA9554). Then a normal I2C data transfer takes place. Programming must be done ridiculously slow; in theory, 4.7us is the minimum delay time for normal-speed I2C according to the datasheet, but even with 10us switching was unreliable. The Windows driver from Terratec does the programming very slowly, too (checked with an oscilloscope). PCA9554 datasheet: http://www.semiconductors.philips.com/acrobat/datasheets/PCA9554_9554A_6.pdf 74HC4052 datasheet: http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT4052_4.pdf Signed-off-by: Maximilian Rehkopf <otakon@gmx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31[ALSA] ice1712 - Fix wrong register value for DMX 6FIREAlan Horstmann
I have just discovered I made an error in the register value set in 'Limit dmx6fire to 6 dacs' patch (bug1472). The value set should be '2a' not '0a' as in the original patch, which unintentionally disables the 2nd MPU 401 UART. Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
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] ice1712 - typo fixes for dxr_enable module optionAlan Horstmann
Modules: ICE1712 driver Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-03-22[ALSA] ice1712 - Fix wrong value types for enum itemsTakashi Iwai
Modules: ICE1712 driver Fix the access to wrong type values for enum items in aureon.c (ALSA bug#1527). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] sound/pci/ice1712/delta.c: make 2 functions staticAdrian Bunk
Modules: ICE1712 driver This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] ice1712 - Fix wordclock status on Delta1010LTDoug McLain
Modules: ICE1712 driver I posted this patch to bug 1806 a while back, and have been awaiting a reply or commit. It currently reports the Locked/No Signal text backwards in envy24control, since i was using an older version of envy24control when I wrote the original code. The Locked/No Signal test was recently reversed in envy24control cvs, so the test in my code needs to be reversed as well. Here is the patch, once again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22[ALSA] ice1712 - Delta 1010LT S/PDIF fixesJaroslav Kysela
Modules: ICE1712 driver See ALSA bug#1806 for details. Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-03-22[ALSA] ice1712 - disable unused ADCs & DACs on DMX6fireAlan Horstmann
Modules: ICE1712 driver Change the value written to hardware configuration register of envy24 chip in the case of Terratec DMX6fire to restrict the active ADCs & DACs to 6. Also add the dxr_enable module option to eventually leave the old behaviour when user requests. Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-03-22[ALSA] ice1712 & cs8427 - fix problem for S/PDIF input setupJaroslav Kysela
Modules: I2C cs8427,ICE1712 driver See ALSA bug#1785 for more details. Signed-off-by: Jaroslav Kysela <perex@suse.cz>
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-03-22[ALSA] ice1724 - Add support of Prodigy-7.1LTTakashi Iwai
Modules: ICE1712 driver Added the support of Prodigy-7.1LT board. The patch taken from ALSA BTS bug#1090. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] ice1724 - Add support of M-Audio Revolution 5.1Takashi Iwai
Modules: ICE1724 driver Added the basic support of M-Audio Revolution 5.1. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] ice1712 - Fix Front Digital Input of Terratec DMX 6FireTakashi Iwai
Modules: ICE1712 driver Fix the inverted switch of 'Front Digital Input' of Terratec DMX 6Fire. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] Remove xxx_t typedefs: PCI ICE1724Takashi Iwai
Modules: ICE1724 driver,ICE1712 driver Remove xxx_t typedefs from the PCI ICE1724 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] Remove xxx_t typedefs: PCI ICE1712Takashi Iwai
Modules: ICE1712 driver Remove xxx_t typedefs from the PCI ICE1712 driver. 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] ice1724 (juli) - forced analog doughter board detectionJaroslav Kysela
Modules: ICE1712 driver Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-11-10[PATCH] PCI: removed unneeded .owner field from struct pci_driverGreg Kroah-Hartman
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-11-07[ALSA] ice1724 - Fix ADC mux put callback in aureon.cTakashi Iwai
Modules: ICE1712 driver Fix the return value of ADC mux put callback in aureon.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04[ALSA] ice1724 - Add SPDIF support to Shuttle SN25PTakashi Iwai
Modules: ICE1712 driver Added the SPDIF support to Shuttle SN25P. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04[ALSA] Fix schedule_timeout usageNishanth Aravamudan
Use schedule_timeout_{,un}interruptible() instead of set_current_state()/schedule_timeout() to reduce kernel size. Also use human-time conversion functions instead of hard-coded division to avoid rounding issues. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04[ALSA] Add missing KERN_* suffix to printkTakashi Iwai
Add missing KERN_* suffix to printk. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04[ALSA] Add support of high-rate SPDIF outputTakashi Iwai
Modules: ICE1724 driver Add support of SPDIF output with sample rates higher than 48kHz. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04[ALSA] Allow 8-44khz sample rates on Revolution 7.1Takashi Iwai
Modules: ICE1724 driver Remove the restcition of sample rates on Revolution 7.1 board. This enables the low 8-44kHz sample rates. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-09-12[ALSA] set owner field in struct pci_driverClemens Ladisch
AD1889 driver,ALS4000 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,RME32 driver RME96 driver,SonicVibes driver,VIA82xx driver,VIA82xx-modem driver ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver HDA Intel driver,ICE1712 driver,ICE1724 driver,KORG1212 driver MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver Trident driver,Digigram VX222 driver,YMFPCI driver Set the module owner field in each driver's struct pci_driver to get the driver symlink in the sysfs device directory. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
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 <tiwai@suse.de>
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 <tiwai@suse.de>
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 <clemens@ladisch.de>