aboutsummaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAge
* ASoC: wm_hubs: Bomb out if we can't read back the DC servo resultMark Brown2012-02-29
| | | | | | Should have no practical impact but it's safer than trying to soldier on. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8996: Remove stub register cacheMark Brown2012-02-29
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8996: Fix /RESET bounce orderingMark Brown2012-02-29
| | | | | | We want to leave the device out of rather than in reset. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8994: Make sure we don't have MICBIAS on during jackdet modeMark Brown2012-02-29
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Remove unnecessary -codec from cs4270 driver nameShawn Guo2012-02-28
| | | | | | | | | | Similar to what commit 1e3ad57 (ASoC: Remove redundant -codec from WM8776 driver name) does for wm8776 driver, this patch does the same thing for cs4270 driver. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fsl: align mpc8610_hpcd with p1022_ds on getting codec nodeShawn Guo2012-02-28
| | | | | | | | | | | | Align mpc8610_hpcd with p1022_ds on getting codec node by just calling of_parse_phandle. The bonus point of doing that is we can save exporting get_node_by_phandle_name() when we consolidate the common bits between mpc8610_hpcd and p1022_ds into a module, which can be shared by more machine drivers added later. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fsl: correct get_dma_channel parameter nameShawn Guo2012-02-28
| | | | | | | | | The second parameter of function get_dma_channel is actually a property name rather than a compatible string, so rename it for less confusing. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8753: Convert to devm_kzalloc()Mark Brown2012-02-27
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fix trivial build error in mpc5200_dma.cPaul Gortmaker2012-02-27
| | | | | | | | | | Add the obvious header to fix this: sound/soc/fsl/mpc5200_dma.c:301: error: implicit declaration of function 'DMA_BIT_MASK' sound/soc/fsl/mpc5200_dma.c:301: error: initializer element is not constant Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: imx: let SND_MXC_SOC_FIQ select FIQShawn Guo2012-02-27
| | | | | | | | CONFIG_FIQ is only needed when CONFIG_SND_MXC_SOC_FIQ is selected to build imx-pcm-fiq.c, so let SND_MXC_SOC_FIQ select FIQ. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: core: Don't overwrite .poweroff in snd_soc_pm_opsViresh Kumar2012-02-24
| | | | | | | | | | SET_SYSTEM_SLEEP_PM_OPS writes .poweroff = *_resume once. Then we overwrite it again explicitly as .poweroff = snd_soc_poweroff. Even though it works, as the second one overwrites the first one, this is not the correct way. Fix this by expanding SET_SYSTEM_SLEEP_PM_OPS in our structure. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Convert interrupt handler to direct regmap usageMark Brown2012-02-23
| | | | | | Avoids potential locking issues with anything that needs the CODEC lock. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8962: Remove mistakenly committed debug loggingMark Brown2012-02-23
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: ak4104: Convert to direct regmap API usageMark Brown2012-02-23
| | | | | | | | Since the cache is currently open coded this is more of a win than for most devices. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Daniel Mack <zonque@gmail.com>
* ASoC: ak4104: Use snd_soc_write() rather than internal write functionMark Brown2012-02-23
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Daniel Mack <zonque@gmail.com>
* ASoC: ak4104: Use snd_soc_update_bits() for read/modify/writeMark Brown2012-02-23
| | | | | | | Don't use the internal I/O functions directly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Daniel Mack <zonque@gmail.com>
* ASoC: mxs-pcm: Request DMA channel earlyLars-Peter Clausen2012-02-22
| | | | | | | | | | | Request the DMA channel in the PCM open callback instead of the hwparams callback, this allows us to let open fail if no dma channel is available. This also fixes a bug where the channel will be requested multiple times if hwparams is called multiple times. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: imx-pcm: Request DMA channel earlyLars-Peter Clausen2012-02-22
| | | | | | | | | Request the DMA channel in the pcm open callback. This allows us to let open fail if there is no dma channel available. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: imx-ssi: Set dma data earlyLars-Peter Clausen2012-02-22
| | | | | | | | | | Move the call to snd_soc_dai_set_dma_data from the hw_params callback to the startup callback. This allows us to use the dma data in the pcm driver's open callback. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8994: Move wm_hubs callback before we start ramping VMIDMark Brown2012-02-21
| | | | | | Allows the generic code to set up for that. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8996: Convert to use DAPM routes for stream connectionsMark Brown2012-02-21
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm5100: Implement DRC coefficient configurationMark Brown2012-02-21
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8996: Implement DRC coefficient configurationMark Brown2012-02-21
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: core: Add support for masking out parts of coefficient blocksMark Brown2012-02-21
| | | | | | | | | | | | | | | | Chip designers frequently include things like the enable and disable controls for algorithms in the register blocks which also hold the coefficients. Since it's desirable to split out the enable/disable control from userspace the plain SND_SOC_BYTES() isn't optimal for these devices. Add a SND_SOC_BYTES_MASK() which allows a bitmask from the first word of the block to be excluded from the control. This supports the needs of devices I've looked at and lets us have a reasonably simple API. Further controls can be added in future if that's needed. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* ASoC: core: Add SND_SOC_BYTES control for coefficient blocksMark Brown2012-02-21
| | | | | | | | | | | | | | | | | | Allow devices to export blocks of registers to the application layer, intended for use for reading and writing coefficient data which can't usefully be worked with by the kernel at runtime (for example, due to requiring complex and expensive calculations or being the results of callibration procedures). Currently drivers are using platform data to provide configurations for coefficient blocks which isn't at all convenient for runtime management or configuration development. Currently only devices using regmap are supported, an error will be generated for any attempt to work with a byte control on a non-regmap device. There's no fundamental block to other devices so support could be added if required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* ASoC: io: Retrieve val_bytes from the regmap APIMark Brown2012-02-21
| | | | | | | | | Allow us to build infrastructure which needs to know the size of a value without requiring regmap based drivers to supply this information to both ASoC and regmap by asking regmap for the value. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* ASoC: mxs-pcm: Remove unused fields from struct mxs_pcm_runtime_dataLars-Peter Clausen2012-02-21
| | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: imx-pcm: Remove unused fields from imx_pcm_runtime_data structLars-Peter Clausen2012-02-21
| | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: imx-pcm: Remove empty prepare callbackLars-Peter Clausen2012-02-21
| | | | | Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8994: Support external capacitors on MICBIAS2 with jack detectionMark Brown2012-02-21
| | | | | | | | | | | When an external capacitor is connected to MICBIAS2 on devices with jack detection (which is not required but may be done in some systems) then the loading may mean that better performance is obtained when the microphone bias is enabled normally rather than using the low power mode. Provide platform data allowing systems to indicate if they require this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8994: Actively discharge idle MICBIAS with jack detectMark Brown2012-02-21
| | | | | | | This minimises the chance of any external capacitors that are fitted being discharged into headphones as they insert. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8994: Enable headphone startup mode 1 for WM1811 and WM8958Mark Brown2012-02-21
| | | | | | The latest recommendation for optimal performance. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: twl4030: Debug code cleanupPeter Ujfalusi2012-02-21
| | | | | | | | Replace the printk(KERN_ERR* instances with dev_err in the driver. While we are here clean up some of the debug messages as well. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm_hubs: Convert headphone driver to output driver widgetMark Brown2012-02-21
| | | | | | | Mostly for neatness, though it may help with sequencing in some situations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: wm8776: Add WM8775 device ID to the WM8776Mark Brown2012-02-21
| | | | | | | | The WM8775 is register compatible with the WM8776 so can be supported with the same driver though it is an ADC only part. Add the device ID to the WM8776 driver, further updates will be added in the future. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: ak4104: Convert to module_spi_driver()Mark Brown2012-02-20
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: ak4104: Remove uninformative print on probe()Mark Brown2012-02-20
| | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: imx/mxs: remove redundant SND_PCM selectionShawn Guo2012-02-20
| | | | | | | | SND_PCM is already selected by SND_SOC, there is no need for SND_IMX_SOC and SND_MXS_SOC to select it again. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: fsi: Add DMAEngine supportKuninori Morimoto2012-02-19
| | | | | | | | | | This patch supports DMAEngine to FSI driver. It supports only Tx case at this point. If platform/cpu doesn't support DMAEngine, FSI driver will use PIO transfer. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge tag 'v3.3-rc4' into for-3.4 in order to resolve the conflictMark Brown2012-02-19
|\ | | | | | | | | | | | | | | | | | | resolved below within the FSI driver and allow the application of the dmaeengine conversion that depends on this resolution. Linux 3.3-rc4 Conflicts: sound/soc/sh/fsi.c
| * ALSA: intel8x0: Fix default inaudible sound on Gateway M520Daniel T Chen2012-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/930842 The reporter states that audio is inaudible by default without muting 'External Amplifier'. Add a quirk to handle his SSID so that changing the control is not necessary. Reported-and-tested-by: Benjamin Carlson <elderbubba0810@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge tag 'asoc-3.3' of ↵Takashi Iwai2012-02-14
| |\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A simple fix from Morimoto-san for the pointer() operation in the FSI driver.
| | * ASoC: fsi: fixup fsi_pointer() calculation methodKuninori Morimoto2012-02-09
| | | | | | | | | | | | | | | | | | | | | | | | current fsi_pointer() calculation was not correct for FSI driver. This patch fix it up. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | Merge branch 'fix/acer-alc889-fix' into fix/hdaTakashi Iwai2012-02-13
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c Merged back the fix for Acer Aspire 6935 with ALC889 codec. The fix commit was based on 3.2 kernel so that it can be applied to stable kernel cleanly.
| | * | ALSA: hda - Fix silent speaker output on Acer Aspire 6935Takashi Iwai2012-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 3.2 kernel, the driver starts trying to assign the multi-io DACs before the speaker, thus it assigns DAC2/3 for multi-io and DAC4 for the speaker for a standard laptop setup like a HP, a speaker, a mic-in and a line-in. However, on Acer Aspire 6935, it seems that the speaker pin 0x14 must be connected with either DAC1 or 2; otherwise it results in silence by some reason, although the codec itself allows the routing to DAC3/4. As a workaround, the connection list of each pin is reduced to be mapped to either only DAC1/2 or DAC3/4, so that the compatible assignment as in kernel 3.1 is achieved. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42740 Cc: <stable@kernel.org> [v3.2+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix initialization of secondary capture source on VT1705Takashi Iwai2012-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VT1705 codec has two ADCs where the secondary ADC has no MUX but only a fixed connection to the mic pin. This confused the driver and it tries always overriding the input-source selection by assumption of the existing MUX for the secondary ADC, resulted in resetting the input-source at each time PM (including power-saving) occurs. The fix is simply to check the existence of MUX for secondary ADCs in the initialization code. Tested-by: Anisse Astier <anisse@astier.eu> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix mute-LED VREF value for new HP laptopsTakashi Iwai2012-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new HP laptops turns off the mute LED with VREF50 or VREF80, but not in HIZ unlike the previous models. Since VREF50 (also 80) works with the previous models, let's use VREF50 for all. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ASoC: Add __devinit annotation for pxa2xx_ac97_probeAxel Lin2012-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes below build warning: WARNING: vmlinux.o(.text+0x1e632c): Section mismatch in reference from the function pxa2xx_ac97_probe() to the function .devinit.text:pxa2xx_ac97_hw_probe() The function pxa2xx_ac97_probe() references the function __devinit pxa2xx_ac97_hw_probe(). This is often because pxa2xx_ac97_probe lacks a __devinit annotation or the annotation of pxa2xx_ac97_hw_probe is wrong. Also rename pxa_ac97_dai to pxa_ac97_dai_driver to fix below build warning: LD sound/soc/pxa/built-in.o WARNING: sound/soc/pxa/built-in.o(.data+0x18c): Section mismatch in reference from the variable pxa_ac97_dai to the function .devinit.text:pxa2xx_ac97_probe() The variable pxa_ac97_dai references the function __devinit pxa2xx_ac97_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: soc-core: Show the returned values on error messagesFabio Estevam2012-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Showing the returned values on error messages is useful information. While at it, use pr_err/pr_warn whenever possible. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | ASoC: wm8996: Make sure we bounce /RESET to resetMark Brown2012-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While it matches the current code only bringing the device out of reset isn't actually doing what the function says so make sure we set the GPIO high before we pull it low. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>