summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-2.6.30' of ↵Takashi Iwai2009-02-133-60/+44
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc
| * Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-02-131-1/+4
| |\
| | * ASoC: Only register AC97 bus if it's not done alreadyMark Brown2009-02-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ASoC supports both explicit codec drivers for AC97 devices and a simple driver which uses the standard ALSA AC97 framework for codec support. When used with the generic AC97 codec support that will provide the ad hoc AC97 device for drivers like touchscreens to attach to so the core shouldn't do so. Reported-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: add additional controls to the CS4270 codec driverTimur Tabi2009-02-132-59/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the CS4270 codec driver to allow applications to use the mixer to control Digital Loopback, Soft Ramp, Zero Cross, Popguard, and Auto-Mute. Soft Ramp, Zero Cross, and Auto-Mute are disabled by the driver when it first initializes the hardware, but these features either don't work or interfere with normal ALSA behavior. However, they can now be re-enabled by an application if desired. Remove CONFIG_SND_SOC_CS4270_HWMUTE and always allow ASoC to control the mute bits. The driver previously and erroneously assumed that these bits control only external muting circuitry, but they also control internal muting circuitry, so they should always be used. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Fix forgotten replacements of socdev->codecTakashi Iwai2009-02-116-6/+6
|/ / | | | | | | | | | | | | The snd_soc_codec was moved into socdev->card, but this change wasn't applied in some places. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-02-101-2/+2
|\ \ | |/
| * ASoC: Update SDP3430 machine driver for snd_soc_cardLopez Cruz, Misael2009-02-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | This patch replaces "snd_soc_machine" structure by "snd_soc_card" in SP3430 driver. This change is needed in SDP3430 driver to reflect changes introduced by "ASoC: Rename snd_soc_card to snd_soc_machine" patch (875065491fba8eb13219f16c36e79a6fb4e15c68). Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TLV320AIC3X: Add TLV information for volume controlsJarkko Nikula2009-02-091-41/+73
| | | | | | | | | | | | | | TLV320AIC3X volume controls are logarithmic. Export their dB ranges. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TLV320AIC3X: Fix volume rangesJarkko Nikula2009-02-091-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minor fix but helps to define dB ranges for volume controls. Only DAC digital volume has full register value range from 0 to 127 but ADC PGA gain and output stage volume controls don't. For ADC PGA, maximum value is 119 and then it saturates to the same gain value of 59.5 dB. For output stages, value 117 corresponds to -78.3 dB and is muted for values 118 and above. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: pxa2xx-i2s: remove I2S pin setupPhilipp Zabel2009-02-081-36/+0
| | | | | | | | | | | | | | | | | | | | This removes the calls to pxa_gpio_mode from the pxa2xx-i2s driver. Pin setup should be done during board init via pxa2xx_mfp_config instead. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | pxa/spitz: Setup I2S pins for pxa2xx-i2sPhilipp Zabel2009-02-081-0/+6
| | | | | | | | | | | | | | | | | | The spitz has a WM8750 codec connected as I2S slave but doesn't use the PXA I2S system clock. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | pxa/h5000: Setup I2S pins for pxa2xx-i2sPhilipp Zabel2009-02-081-0/+7
| | | | | | | | | | | | | | | | | | The iPAQ h5000 has an AK4535 codec connected as I2S slave, PXA I2S providing SYSCLK. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: count reaches 10001, not 10000.Roel Kluin2009-02-081-2/+2
| | | | | | | | | | | | With a postfix increment count reaches 10001, not 10000. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add initial support of Mitac mioa701 device SoC.Robert Jarzmik2009-02-083-0/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This machine driver enables sound functions on Mitac mio a701 smartphone. Build upon ASoC v1, it handles : - rear speaker - front speaker - microphone - GSM A global "Mio Mode" switch is not yet provided to cope with audio path setup. As balance on audio chip line is no more assured, an incorrect setup can produce a lot of heat and even fry the battery behind the wm9713 and the speaker amplifier. It doesn't cope with : - headset jack - mio master mode - master volume control This driver is backported from ASoc v2, and amputated from scenario setups and master volume control. [Minor mods for terminology in comments -- broonie] Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-02-062-5/+10
|\ \ | |/
| * ASoC: WM8990: Fix kcontrol's private value use in put callbackJarkko Nikula2009-02-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Function wm899x_outpga_put_volsw_vu misuses the kcontrol's private value by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it as a pointer into struct soc_mixer_control after the commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf. This is very similar fix than fix to TLV320AIC3X codec made by Eero Nurkkala <ext-eero.nurkkala@nokia.com>. This fix is compile tested only. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Cc: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: TLV320AIC3X: Fix kcontrol's private value use in put callbackEero Nurkkala2009-02-061-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Function snd_soc_dapm_put_volsw_aic3x misuses the kcontrol's private value by still accessing it as bitfields even SOC_SINGLE_VALUE constructs it as a pointer into struct soc_mixer_control after the commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf. This was causing arbitrary register writes when touching the controls defined with SOC_DAPM_SINGLE_AIC3X. Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: optimize init sequence of Freescale MPC8610 sound driversTimur Tabi2009-02-062-103/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the Freescale MPC8610 sound drivers, relocate all code from the _prepare functions into the corresponding _hw_params functions. These drivers assumed that the sample size is known in the _prepare function and not in the _hw_params function, but this is not true. Move the code in fsl_dma_prepare() into fsl_dma_hw_param(). Create fsl_ssi_hw_params() and move the code from fsl_ssi_prepare() into it. Turn off snooping for DMA operations to/from I/O registers, since that's not necessary. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Blackfin: drop unnecessary dma castsMike Frysinger2009-02-061-61/+43
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Blackfin: cleanup sport handling in ASoC Blackfin AC97 codeMike Frysinger2009-02-061-59/+33
| | | | | | | | | | | | | | | | | | | | | | - make sport number handling more dynamic as not all Blackfins have a linear sport map starting at 0 - indexes can be macroed away too Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: pxa-ssp: fix SSP port requestPhilipp Zabel2009-02-041-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | PXA2xx/3xx SSP ports start from 1, not 0. Thus, the probe function requested the wrong SSP port. Correcting this unveiled another bug where ssp_init tries to request the already-requested SSP port again. So this patch replaces the ssp_init/exit calls with their internals from mach-pxa/ssp.c, leaving out the redundant ssp_request and the unneeded IRQ request. Effectively, that leaves us with not much more than enabling/disabling the SSP clock. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: uda1380: split set_dai_fmt into _both, _playback and _capture variantsPhilipp Zabel2009-02-041-7/+61
| | | | | | | | | | | | | | | | | | | | | | This patch splits set_dai_fmt into three variants (single interface, dual interface playback only, dual interface capture only) so that data input and output formats can be configured separately for dual interface setups. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Tested-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Don't unconditionally use the PLL in UDA1380Vasily Khoruzhick2009-02-031-2/+2
| | | | | | | | | | | | | | | | | | Without this fix driver switches to WSPLL in uda1380_pcm_prepare even if SYSCLK was chosen (uda1380_pcm_prepare modifies UDA1380_CLK register to disable R00_DAC_CLK before flushing reg cache) Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'fix/asoc' into topic/asocTakashi Iwai2009-02-034-5/+4
|\ \ | |/
| * ALSA: ASoC: email - update email addresses.Liam Girdwood2009-02-034-5/+4
| | | | | | | | | | | | | | | | This just updates my email address on some drivers I'd forgotten in a previous patch. Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ASoC: fix message display in CS4270 codec driverTimur Tabi2009-02-021-27/+39
| | | | | | | | | | | | | | | | Replace printk calls with dev_xxx calls. Set the 'dev' field of the codec and codec_dai structures so that these calls work. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: fix build break in CS4270 codec driverTimur Tabi2009-02-021-1/+1
| | | | | | | | | | | | | | Fix a oversight in the CS4270 codec driver that caused a build break. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-02-021-2/+3
|\ \ | |/
| * OMAP: ASoC: Fix spinlock misuse in omap-pcm.cEero Nurkkala2009-02-021-2/+3
| | | | | | | | | | | | | | | | | | omap_pcm_trigger is called also in interrupt context so CPU flags must be restored when returning. Signed-off-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Update OMAP3 pandora board fileGrazvydas Ignotas2009-01-311-20/+29
| | | | | | | | | | | | | | | | | | Update pandora board file for recent TWL4030 codec changes. Also move output related snd_soc_dapm_nc_pin() calls to omap3pandora_out_init(), where they belong. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: fix documentation in CS4270 codec driverTimur Tabi2009-01-311-58/+105
| | | | | | | | | | | | | | | | Spruce up the documentation in the CS4270 codec. Use kerneldoc where appropriate. Fix incorrect comments. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: fix initialization order of the CS4270 codec driverTimur Tabi2009-01-301-80/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ASoC codec drivers typically serve two masters: the I2C bus and ASoC itself. When a codec driver registers with ASoC, a probe function is called. Most codec drivers call ASoC first, and then register with the I2C bus in the ASoC probe function. However, in order to support multiple codecs on one board, it's easier if the codec driver is probed via the I2C bus first. This is because the call to i2c_add_driver() can result in the I2C probe function being called multiple times - once for each codec. In the current design, the driver registers once with ASoC, and in the ASoC probe function, it calls i2c_add_driver(). The results in the I2C probe function being called multiple times before the driver can register with ASoC again. The new design has the driver call i2c_add_driver() first. In the I2C probe function, the driver registers with ASoC. This allows the ASoC probe function to be called once per I2C device. Also add code to check if the I2C probe function is called more than once, since that is not supported with the current ASoC design. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: TWL4030: Add analog loopback supportPeter Ujfalusi2009-01-292-13/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the analog loopback/bypass support for twl4030 codec. Details for the implementation: It seams that the analog loopback needs the DAC powered on on the channel, where the loopback is selected. The switch for the DACs has been moved from the DAPM_DAC to the "Analog XX Playback Mixer". In this way the DAC will be powered while the audio playback is used or/and the loopback is enabled for the channel. The twl4030 codec powering has been reworked. Now the codec will be powered as long as it does not receives the SND_SOC_BIAS_OFF event. The exceptions are when the given change in the registers needs the codec power down/up cycle in order to take effect. Otherwise the codec is on. When the codec enters to STANDBY state and none of the loopback paths are enabled, than the amplifiers, which are no in the DAPM path are forced to turn off and the PLL is disabled. When playback/capture starts the disabled gains are restored and the PLL is enabled. When one of the loopback enabled in STANDBY mode, the disabled gains are restored and the PLL is enabled also. In short: the codec always goes to the lowest power state based on the bias_level and the bypass_state. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.29' into for-2.6.30Mark Brown2009-01-292-1/+12
|\ \ | |/
| * ASoC: OMAP: Initialize XCCR and RCCR registers in McBSP DAI driverMisael Lopez Cruz2009-01-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch explicitly initializes McBSP Transmit Configuration Control Register (XCCR) and Receive Configuration Control Register (RCCR) to their reset values. Reset values are 26 ns of DX delay and Transmit DMA disabled for XCCR register; receive full cycle mode enabled and Receive DMA disabled for RCCR register. This patch requires a counterpart in OMAP McBSP driver before to apply it. The required changes in McBSP were sent and approved in linux-omap mailing list and patch is going upstream (commit 3127f8f8595a064b3f1a1837fea2177902589ac3 from linux-omap-2.6 tree). Signed-off-by: Misael Lopez Cruz <x0052729@ti.com> [ jarkko.nikula@nokia.com: Commit id for counterpart patch corrected ] Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Fix null string usage with WM8753 DAIsMark Brown2009-01-291-1/+8
| | | | | | | | | | | | | | | | | | The WM8753 driver multiplexes the DAI structures it exposes to the outside world, leaving them uninitialised until the codec probes. Since the DAI name is used during the registration and setup process provide a dummy name. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'topic/snd_card_new-err' into topic/asocTakashi Iwai2009-01-28111-516/+617
|\ \ | | | | | | | | | | | | Conflicts: sound/soc/soc-core.c
| * | ALSA: opti9xx - Fix build breakage by snd_card_create() conversionTakashi Iwai2009-01-141-0/+1
| | | | | | | | | | | | | | | | | | Add a missing variable declaration. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | drivers/usb/gadget: Convert to snd_card_create()Takashi Iwai2009-01-121-4/+3
| | | | | | | | | | | | | | | | | | | | | Convert from snd_card_new() to the new snd_card_create() function for gmidi. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | drivers/staging: Convert to snd_card_create() for go7007Takashi Iwai2009-01-121-3/+4
| | | | | | | | | | | | | | | | | | Convert from snd_card_new to the new snd_card_create() for go7007. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | drivers/media: Convert to snd_card_create()Takashi Iwai2009-01-123-10/+12
| | | | | | | | | | | | | | | | | | Convert from snd_card_new() to the new snd_card_create() function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Return proper error code at probe in sound/pcmcia/*Takashi Iwai2009-01-122-13/+18
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: pdaudiocf - Fix missing free in the error pathTakashi Iwai2009-01-121-1/+3
| | | | | | | | | | | | | | | | | | Added the missing snd_card_free() in the error path of probe callback. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Return proper error code at probe in sound/usb/*Takashi Iwai2009-01-123-44/+67
| | | | | | | | | | | | | | | | | | | | | Some drivers in soudn/usb/* don't handle the error code properly from snd_card_create(). This patch fixes these places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Return proper error code at probe in sound/isa/*Takashi Iwai2009-01-126-64/+65
| | | | | | | | | | | | | | | | | | | | | Some drivers in sound/isa/* don't handle the error code properly from snd_card_create(). This patch fixes these places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Update description of snd_card_create() in documentsTakashi Iwai2009-01-121-19/+25
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Convert to snd_card_create() in other sound/*Takashi Iwai2009-01-1231-103/+111
| | | | | | | | | | | | | | | | | | | | | Convert from snd_card_new() to the new snd_card_create() function in other sound subdirectories. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Convert to snd_card_create() in sound/pci/*Takashi Iwai2009-01-1247-144/+148
| | | | | | | | | | | | | | | | | | | | | Convert from snd_card_new() to the new snd_card_create() function in sound/pci/*. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Convert to snd_card_create() in sound/isa/*Takashi Iwai2009-01-1225-100/+122
| | | | | | | | | | | | | | | | | | Convert from snd_card_new() to the new snd_card_create() function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: Introduce snd_card_create()Takashi Iwai2009-01-122-17/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced snd_card_create() function as a replacement of snd_card_new(). The new function returns a negative error code so that the probe callback can return the proper error code, while snd_card_new() can give only NULL check. The old snd_card_new() is still provided as an inline function but with __deprecated attribute. It'll be removed soon later. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud