summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: oxygen: X-Meridian: add S/PDIF source selectionClemens Ladisch2011-01-101-2/+75
| | | | | | | | Add a mixer control to select between the on-board and extension board S/PDIF inputs for the X-Meridian (2G). Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: add digital input validity check switchClemens Ladisch2011-01-101-10/+20
| | | | | | | | Add a mixer control to prevent capturing S/PDIF samples that are not marked as valid (non-audio or corrupted samples). Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-audio: add Edirol SD-90 PCM supportClemens Ladisch2011-01-102-3/+6
| | | | | | | | Add support for the 24-bit audio I/Os of the Edirol SD-90 interface. Reported-any-tested-by: Jim Grusendorf <alsa-user@grusendorf.ca> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-audio: use enum control info helperClemens Ladisch2011-01-102-16/+3
| | | | | | | Simplify info callbacks by using the snd_ctl_enum_info() helper function. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ymfpci: use enum control info helperClemens Ladisch2011-01-101-9/+3
| | | | | | | Simplify the info callback by using the snd_ctl_enum_info() helper function. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: cmipci: use enum control info helperClemens Ladisch2011-01-101-16/+9
| | | | | | | Simplify info callbacks by using the snd_ctl_enum_info() helper function. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: bt87x: use enum control info helperClemens Ladisch2011-01-101-8/+2
| | | | | | | Simplify the info callback by using the snd_ctl_enum_info() helper function. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: core, oxygen, virtuoso: add an enum control info helperClemens Ladisch2011-01-107-103/+43
| | | | | | | | Introduce the helper function snd_ctl_enum_info() to fill out the elem_info fields for an enumerated control. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: add Xonar HDAV1.3 Slim supportClemens Ladisch2011-01-104-16/+206
| | | | | | | Add experimental support for the Asus Xonar HDAV1.3 Slim sound card. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: add Xonar DG supportClemens Ladisch2011-01-107-5/+733
| | | | | | | Add experimental support for the Asus Xonar DG sound card. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: add X-Meridian 2G supportClemens Ladisch2011-01-102-0/+3
| | | | | | | Add support for the AuzenTech X-Meridian 7.1 2G sound card. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: add more PCI IDsClemens Ladisch2011-01-101-0/+3
| | | | | | | Add PCI IDs for some unknown models. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: reduce MCLK in double rate modesClemens Ladisch2011-01-103-7/+9
| | | | | | | | For the CSxxxx and AKxxxx DAC/ADC chips, the MCLK factor in double rate modes (64-96 kHz) can be reduced to 128x without reducing sound quality. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: simplify model-specific MCLK handlingClemens Ladisch2011-01-108-95/+89
| | | | | | | | | Replace the get_i2s_mclk callback with tables of MCLK values. This simplifies the MCLK-handling code in both the framework and the model- specific drivers. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: use headphone gain setting only on front DACClemens Ladisch2011-01-101-0/+2
| | | | | | | | | Do not apply the headphone gain offset to any but the front DAC. These DACs would not be used in headphone mode, so this saves a few register writes. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: handle DAC oversampling automaticallyClemens Ladisch2011-01-101-79/+21
| | | | | | | | | | | | | | | | | Remove the DAC Oversampling mixer control because this setting does not make much sense. For cards with the H6 daughterboard, 128x oversampling was disabled anyway because these high MCLK frequency would not be compatible with the connector cable. For cards without the H6 daughterboard, 128x gives a slightly higher output quality; there is no reason to reduce it to 64x except for saving power, but then these cards have not been designed to be power efficient anyway (the D2's blinkenlights cannot be disabled). Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: use lower master clock with H6 daughterboardClemens Ladisch2011-01-101-13/+18
| | | | | | | | | | | | Because of the unshielded connector cable, it is important to use as low a master clock frequency as possible with the H6. For double rate modes (64-96 kHz), the MCLK rate is unconditionally lowered from 512x to 256x because the higher rate would not improve anything. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: configure correct master clock frequency on the CS2000Clemens Ladisch2011-01-101-13/+12
| | | | | | | | | The clock output of the CS2000, which is used as master clock for the DACs, was using half the actual master clock frequency for some reason. Using the theoretically correct frequency seems also to work in practice. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: remove non-working controls on Essence ST DeluxeClemens Ladisch2011-01-101-6/+22
| | | | | | | | | On the Xonar Essence ST Deluxe, remove all mixer controls that would require I2C communication with the third DAC, which does not work because of an addressing conflict with the CS2000 chip. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: change PCM1796 format to I2SClemens Ladisch2011-01-101-5/+5
| | | | | | | | | | Change the PCM format used for the PCM1796 from left-justified to I2S to ensure that the correct format is used even for the Essence ST Deluxe's center/LFE DAC, where I2C does not work because of an address conflict with the CS2000 chip. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: wait for PCM1796 clock to become stableClemens Ladisch2011-01-101-0/+5
| | | | | | | | | The PCM1796 needs the master clock for I2C communication to work, so add delays after clock changes to ensure that the clock is stable when we try to write the DACs' registers. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: do not use fast I2C speedClemens Ladisch2011-01-101-2/+2
| | | | | | | | To make the I2C communication reliable when using the H6 daughterboard, reduce the I2C clock frequency. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: fix SPI clocks slower than 6.25 MHzClemens Ladisch2011-01-102-6/+6
| | | | | | | | Fix wrong register bits for SPI clock cycle times longer than 160 ns, and adjust the polling loop timeout for these speeds. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: remove oxygen_model::private_data fieldClemens Ladisch2011-01-102-5/+2
| | | | | | | | The number of DACs can now be deduced from the dac_channels_mixer field, so the private_data field is no longer needed. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: allow different number of PCM and mixer channelsClemens Ladisch2011-01-107-15/+25
| | | | | | | | | For cards like the Xonar HDAV1.3, differentiate between the number of PCM channels that can be played and the number of channels whose volume can be adjusted. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: Don't leak in sound/core/oss/pcm_oss.c::snd_pcm_hw_param_near()Jesper Juhl2011-01-101-1/+3
| | | | | | | | | snd_pcm_hw_param_near() will leak the memory allocated to 'save' if the call to snd_pcm_hw_param_max() returns less than zero. This patch makes sure we never leak. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: azt3328: improve snd_azf3328_codec_setdmaa()Andreas Mohr2011-01-021-15/+51
| | | | | | | | | | - add some WARN_ONCE - add multi-I/O helper (and use helper struct) - fix off-by-1 DMA length bug - better variable naming Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: azt3328: use proper private_data hookup for codec identificationAndreas Mohr2011-01-021-144/+90
| | | | | | | | | | | | | - much improved implementation due to clean codec hierarchy - preparation for potential per-codec spinlock change NOTE: additionally removes a chip->pcm[codec_type] NULL ptr check (due to it requiring access to external chip struct), however I believe this to be ok since this condition should not occur and most drivers don't check against that either. Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: azt3328: use a helper variable to remove one indirection in hotpathAndreas Mohr2011-01-021-9/+12
| | | | | Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: azt3328: cosmetics: use a helper variable for codec setupAndreas Mohr2011-01-021-9/+12
| | | | | Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: azt3328: _setfmt() updateAndreas Mohr2011-01-021-16/+25
| | | | | | | | - use a separate variable for the frequency part, don't always "or" it - use a "clever"(?) macro to shorten the code Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: azt3328: cosmetics, minor updatesAndreas Mohr2011-01-021-12/+19
| | | | | | | | | | - correct samples to be POSIX shell compatible - add logging of jiffies value in _pointer() - several comments - cleanup Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ml403-ac97cr: Use vsprintf extension %pR for struct resourceJoe Perches2010-12-141-2/+2
| | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/workq-update' into topic/miscTakashi Iwai2010-12-1373-367/+496
|\
| * sound: don't use flush_scheduled_work()Tejun Heo2010-12-1310-72/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | flush_scheduled_work() is deprecated and scheduled to be removed. * cancel[_delayed]_work() + flush_scheduled_work() -> cancel[_delayed]_work_sync(). * wm8350, wm8753 and soc-core use custom code to cancel a delayed work, execute it immediately if it was pending and wait for its completion. This is equivalent to flush_delayed_work_sync(). Use it instead. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge branch 'for-linus' of ↵Linus Torvalds2010-12-0313-27/+35
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: omap: N810: Don't select CONFIG_OMAP_MUX but make it as dependency ALSA: hda: Use "alienware" model quirk for another SSID ASoC: WM8731: Fix incorrect mask for bypass path disable s6105-ipcam: fix compilation s6000-pcm: fix compilation s6000-i2s: fix compilation ASoC: Fix missing spin_unlock_irqrestore ALSA: Fix SNDCTL_DSP_RESET ioctl for OSS emulation ASoC: Add missing dev_set_drvdata in p1022_ds_probe ASoC: Add missing dev_set_drvdata in mpc8610_hpcd_probe ASoC: Remove unneeded !! operations while checking return value of nuc900_checkready ASoC: Fix compile error for nuc900-pcm.c ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_remove ASoC: Fix compile error for nuc900-ac97.c ALSA: hda: Use BIOS auto-parsing instead of existing model quirk for MEDION MD2
| | * Merge branch 'fix/asoc' into for-linusTakashi Iwai2010-12-0210-18/+22
| | |\
| | | * Merge branch 'for-2.6.37' of ↵Takashi Iwai2010-12-021-1/+1
| | | |\ | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into fix/asoc
| | | | * ASoC: omap: N810: Don't select CONFIG_OMAP_MUX but make it as dependencyJarkko Nikula2010-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all omap boards use kernel based pin multiplexing so CONFIG_SND_OMAP_SOC_N810 should not select it by default as it can make harm to other boards in multi-board kernels. Therefore put CONFIG_OMAP_MUX as a dependency to N810 ASoC machine driver. Thanks to Tony Lindgren <tony@atomide.com> for noticing. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Cc: Tony Lindgren <tony@atomide.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| | | * | ASoC: WM8731: Fix incorrect mask for bypass path disableDimitris Papastamos2010-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the datasheet the bypass path enable/disable is bit 3 therefore we need 0x8 and not 0x4. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * | s6105-ipcam: fix compilationDaniel Glöckner2010-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the s6105-ipcam ASoC driver had been converted to the multi-component API, a single reference to a former structure element remained, blocking successful compilation. Signed-off-by: Daniel Glöckner <daniel-gl@gmx.net> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * | s6000-pcm: fix compilationDaniel Glöckner2010-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | s6000_soc_platform has lost its forward declaration and there no longer is a name element in it, so use a string constant when calling request_irq. Signed-off-by: Daniel Glöckner <daniel-gl@gmx.net> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * | s6000-i2s: fix compilationDaniel Glöckner2010-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A semicolon was missing. Signed-off-by: Daniel Glöckner <daniel-gl@gmx.net> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * | ASoC: Fix missing spin_unlock_irqrestoreAxel Lin2010-11-301-4/+5
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In nuc900_dma_hw_params(), if snd_pcm_lib_malloc_pages failed it returns without calling spin_unlock_irqrestore(). Since snd_pcm_lib_malloc_pages() does not touch struct nuc900_audio, we don't need to hold the lock while calling snd_pcm_lib_malloc_pages(). Fix it by moving spin_lock_irqsave() down to after snd_pcm_lib_malloc_pages(). In nuc900_dma_prepare(), spin_unlock_irqrestore() is missing in the error path. Fix it by removing the return in default case. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Wan ZongShun <mcuos.com@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * ASoC: Add missing dev_set_drvdata in p1022_ds_probeAxel Lin2010-11-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, calling dev_get_drvdata in p1022_ds_remove returns NULL. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Timur Tabi <timur@freescale.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * ASoC: Add missing dev_set_drvdata in mpc8610_hpcd_probeAxel Lin2010-11-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, calling dev_get_drvdata in mpc8610_hpcd_remove returns NULL. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Timur Tabi <timur@freescale.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * ASoC: Remove unneeded !! operations while checking return value of ↵Axel Lin2010-11-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nuc900_checkready I think this unneededd !! operations just reduce the readability. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * ASoC: Fix compile error for nuc900-pcm.cAxel Lin2010-11-292-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes below error: CC sound/soc/nuc900/nuc900-pcm.o sound/soc/nuc900/nuc900-pcm.c: In function 'nuc900_dma_open': sound/soc/nuc900/nuc900-pcm.c:267: error: 'nuc900_ac97_data' undeclared (first use in this function) sound/soc/nuc900/nuc900-pcm.c:267: error: (Each undeclared identifier is reported only once sound/soc/nuc900/nuc900-pcm.c:267: error: for each function it appears in.) sound/soc/nuc900/nuc900-pcm.c: At top level: sound/soc/nuc900/nuc900-pcm.c:337: error: expected ',' or ';' before 'static' sound/soc/nuc900/nuc900-pcm.c:354: error: 'nuc900_soc_platform_probe' undeclared here (not in a function) make[3]: *** [sound/soc/nuc900/nuc900-pcm.o] Error 1 make[2]: *** [sound/soc/nuc900] Error 2 make[1]: *** [sound/soc] Error 2 make: *** [sound] Error 2 Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_removeAxel Lin2010-11-291-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes below compile warning: CC sound/soc/nuc900/nuc900-ac97.o sound/soc/nuc900/nuc900-ac97.c:300: warning: initialization from incompatible pointer type sound/soc/nuc900/nuc900-ac97.c:301: warning: initialization from incompatible pointer type Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * ASoC: Fix compile error for nuc900-ac97.cAxel Lin2010-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix below compile error by add a missing ';'. CC sound/soc/nuc900/nuc900-ac97.o sound/soc/nuc900/nuc900-ac97.c:300: warning: initialization from incompatible pointer type sound/soc/nuc900/nuc900-ac97.c:301: warning: initialization from incompatible pointer type sound/soc/nuc900/nuc900-ac97.c:318: error: expected ',' or ';' before 'static' sound/soc/nuc900/nuc900-ac97.c:405: error: 'nuc900_ac97_drvprobe' undeclared here (not in a function) make[3]: *** [sound/soc/nuc900/nuc900-ac97.o] Error 1 make[2]: *** [sound/soc/nuc900] Error 2 make[1]: *** [sound/soc] Error 2 make: *** [sound] Error 2 Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud