aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/ca0106/ca0106_main.c
AgeCommit message (Collapse)Author
2011-03-31Fix common misspellingsLucas De Marchi
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
2010-12-27sound, ca0106: Fix assignment to 'channel'.Jesper Juhl
The assignment to the local variable 'channel' in snd_ca0106_pcm_pointer_capture() is a little crazy. Order of assignment is undefined. This fixes it. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-10-23ALSA: ca0106: Allow different sound cards to use different SPI channel mappings.Andy Owen
Signed-off-by: Andy Owen <andy-alsa@ultra-premium.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-23ALSA: ca0106: Create a nice spot for mapping channels to dacs.Andy Owen
This is to allow a future patch to have card specific mappings between dacs, which is required since the Sound Blaster 5.1vx seems to have a different mapping to what was previously used. Signed-off-by: Andy Owen <andy-alsa@ultra-premium.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-23ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence.Andy Owen
Signed-off-by: Andy Owen <andy-alsa@ultra-premium.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-23ALSA: ca0106: Pull out dac powering routine into separate function.Andy Owen
This is ground work for a future commit where cards (such as the Sound Blaster 5.1vx) have different mappings between dacs and channels. Signed-off-by: Andy Owen <andy-alsa@ultra-premium.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-10-23ALSA: ca0106 - add Sound Blaster 5.1vx info.Andy Owen
Signed-off-by: Andy Owen <andy-alsa@ultra-premium.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-09-07ALSA: ca0106 - clean up playback pointer callbackTakashi Iwai
Clean up the playback pointer callback function a bit, and make the pointer check more strictly to avoid bogus pointers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-09sound: use DEFINE_PCI_DEVICE_TABLEAlexey Dobriyan
Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to .devinit.rodata section, so they can be discarded in some cases, and make them const. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-07-21Merge branch 'fix/misc' into for-linusTakashi Iwai
* fix/misc: ALSA: ca0106 - Fix the max capture buffer size ALSA: OSS sequencer should be initialized after snd_seq_system_client_init ALSA: sound/isa: convert nested spin_lock_irqsave to spin_lock
2009-07-20ALSA: ca0106 - Fix the max capture buffer sizeTakashi Iwai
The capture buffer size with 64kB seems broken with CA0106. At least, either the update timing or the DMA position is wrong, and this screws up pulseaudio badly. This patch restricts the max buffer size less than that to make life a bit easier. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
2009-06-25sound: Use PCI_VDEVICE for CREATIVE and ECTIVAJoe Perches
Here's a patch on top of the others to use CREATIVE and ECTIVA Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-06-02ALSA: Remove invalid GENERIC_MIX PCM sublassTakashi Iwai
SNDRV_PCM_SUBCLASS_GENERIC_MIX is mostly for h/w multi-stream playback devices, but ca0106 and emu10k1x don't support it (unlike emu10k1). We shouldn't set that flag to avoid confusion. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-04-07dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)Yang Hongyang
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) Signed-off-by: Yang Hongyang<yanghy@cn.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-03-24Merge branch 'topic/ca0106' into for-linusTakashi Iwai
2009-03-24Merge branch 'topic/misc' into for-linusTakashi Iwai
2009-02-05ALSA: ca0106 - Add missing KERN_* prefix to printkTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-02-05ALSA: Fix missing KERN_* prefix to printk in sound/pciTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-19ALSA: ca0106 - Add quirk for GA-G1975X moboTakashi Iwai
Giga-byte GA-G1975X mobo has a CA0106 on-board chip. Reference: bnc#395807 https://bugzilla.novell.com/show_bug.cgi?id=395807 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2009-01-12ALSA: Convert to snd_card_create() in sound/pci/*Takashi Iwai
Convert from snd_card_new() to the new snd_card_create() function in sound/pci/*. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20Merge branch 'topic/ca0106-spdif-stream' into topic/ca0106Takashi Iwai
2008-12-20Merge branch 'topic/ca0106-resume' into topic/ca0106Takashi Iwai
2008-12-20Merge branch 'topic/ca0106-capture-no-44khz' into topic/ca0106Takashi Iwai
2008-12-20ALSA: ca0106 - disable 44.1kHz captureTakashi Iwai
The capture with 44.1kHz on ca0106 seems to cause loud noises on later playbacks, which doesn't support 44.1kHz. A simple fix is to disable 44.1kHz, as the "default" PCM with dsnoop is anyway only with 48kHz. Reference: Novell bnc#447624 https://bugzilla.novell.com/show_bug.cgi?id=447624 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20ALSA: ca0106 - Add missing card->private_data initializationTakashi Iwai
Added the missing card->private_data initialization that caused obvious problems at PM. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20ALSA: ca0106 - Check ac97 availability at PMTakashi Iwai
Check the availability of ac97 at PM suspend/resume callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19ALSA: ca0106 - Add IEC958 PCM Stream controlsTakashi Iwai
Added "IEC958 PCM Stream" controls for the per-stream IEC958 status bits. Using this instead of "IEC958 Default" is safer since the status bits will be recovered to the default states after closing the PCM stream. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19ALSA: ca0106 - Don't override the values at resumeTakashi Iwai
Don't override some values in ca0106_init_chip() at resume. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-16ALSA: ca0106 MSI K8N Diamond MB spi_dac 2->1Ben Stanley
This patch removes an inconsistency that became apparent when I documented the fields of snd_ca0106_details. spi_dac is always used in a 'boolean' sense, so this cleanup should make no difference. [Actually, there is one place checking explicitly spi_dac == 1, so this will change the behavior. But, supposing it's rather a typo, I apply this clean-up patch -- tiwai] Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10ALSA: ca0106 - Check return value of pci_enable_device() in resumeTakashi Iwai
The return value of pci_enable_device() must be checked even in resume callback: sound/pci/ca0106/ca0106_main.c:1779: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-04ALSA: ca0106 - Add power-management supportTakashi Iwai
Added the missing PM support for snd-ca0106 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-10-19ALSA: misc typo fixesMariusz Kozlowski
Fixed typos in disabled codes via #if 0. Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-08-29ALSA: Cosmetic change: CA0106 on MSI K8N Diamond PLUS MotherboardJaroslav Kysela
Make ',' delimited with space as for other entries in table. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25ALSA: fix for CA0106 on MSI K8N Diamond PLUS MotherboardStephen Rothwell
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-08-25ALSA: CA0106 on MSI K8N Diamond PLUS MotherboardTravis Place
Correct a previous patch for the ca0106 onboard the MSI K8N Diamond PLUS motherboard. Confirmed to have Line/Mic/Aux working for input, and sound output working as expected. Signed-off-by: Travis Place <wishie@wishie.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-06-18ALSA: ca0106 - Add entry for another MSI K8N Diamond MBTakashi Iwai
Added an entry for another MSI K8N Diamond mobo with SSID 1102:1009. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
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 <tiwai@suse.de>
2008-04-24[ALSA] sound: ca0106_main.c fix shadowed variable warningsHarvey Harrison
change to intr_enable as per the two functions it is defined in. sound/pci/ca0106/ca0106_main.c:438:15: warning: symbol 'enable' shadows an earlier one sound/pci/ca0106/ca0106_main.c:159:12: originally declared here sound/pci/ca0106/ca0106_main.c:449:15: warning: symbol 'enable' shadows an earlier one sound/pci/ca0106/ca0106_main.c:159:12: originally declared here Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
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 <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16[ALSA] remove incorrect usage of SNDRV_PCM_INFO_SYNC_START and ↵Clemens Ladisch
snd_pcm_set_sync() Set the SNDRV_PCM_INFO_SYNC_START flag and the substream's sync ID (only) if the substream actually can be linked to another one. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] check for linked substreams of different cardsClemens Ladisch
It is possible to have linked substreams that belong to different cards and/or different drivers. This patch changes some drivers to make sure that they do not incorrectly try to handle substreams of a different card. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] ca0106: remove extra commands in SPI DAC init sequenceTrent Piepho
The init sequence set a number of registers more than once to different values. It's only necessary to set them once to their final values. It also never actually updated the digital attenuation settings. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] ca0106: Add more symbol SPI register names and use themTrent Piepho
Add more symbol name for SPI register values. Change the SPI_XXX_BIT defines from the bit number to a mask. Saves having to write (1<<SPI_XXX_BIT) all the time to convert to mask. We never end up wanting the bit number. Use all the symbol names for the SPI DAC init sequence. The sequence is exactly the same as it was before. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] ca0106: power down SPI DAC channels when not in useTrent Piepho
For cards with an SPI DAC (SB Live 24-bit / Audigy SE), power down channels 0-2 when not in use. They are powered up on PCM open and down again on PCM close. Channel 4 (== Front) is not powered down, as it is used for capture feedback. Powering it down would effectively kill line in pass-through. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] ca0106: Add analog mute controls for cards with SPI DACTrent Piepho
Add four mute controls for the analog output channels for cards that use an SPI DAC, like the SB0570 SB Live! 24-bit / Audigy SE. The Wolfson DAC doesn't support muting left/right so the controls are mono. The chip state struct gets a 32-byte array to act as a shadow of the spi dac registers. Only two registers are used for mute, but more would be needed for analog gain, de-emphasis, DAC power down, phase inversion, and other features. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] snd-ca0106:Add recognition for new variant. Fixes ALSA bug#3251James Courtier-Dutton
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-20[ALSA] snd-ca0106: Add support for X-Fi Extreme Audio.James Courtier-Dutton
This card is just a normal SB Live 24bit, but under a different marketing name. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-07-11PCI: Change all drivers to use pci_device->revisionAuke Kok
Instead of all drivers reading pci config space to get the revision ID, they can now use the pci_device->revision member. This exposes some issues where drivers where reading a word or a dword for the revision number, and adding useless error-handling around the read. Some drivers even just read it for no purpose of all. In devices where the revision ID is being copied over and used in what appears to be the equivalent of hotpath, I have left the copy code and the cached copy as not to influence the driver's performance. Compile tested with make all{yes,mod}config on x86_64 and i386. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Acked-by: Dave Jones <davej@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-11[ALSA] Add snd_pcm_group_for_each_entry() for code cleanupTakashi Iwai
Added a new macro snd_pcm_group_for_each_entry() just for code cleanup. Old macros, snd_pcm_group_for_each() and snd_pcm_group_substream_entry(), are removed. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-02-09[ALSA] ca0106 - Add missing sysfs device assignmentTakashi Iwai
Added the missing device assignment before creating sysfs tree. This caused the insufficient device permissions. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>