summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
Commit message (Collapse)AuthorAgeFilesLines
* Remove GENERIC_HARDIRQ config optionMartin Schwidefsky2013-09-131-1/+1
| | | | | | | | After the last architecture switched to generic hard irqs the config options HAVE_GENERIC_HARDIRQS & GENERIC_HARDIRQS and the related code for !CONFIG_GENERIC_HARDIRQS can be removed. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
* ASoC: mc13783: add spi errata fixSteffen Trumtrar2013-09-111-0/+4
| | | | | | | | | | | | | | | | | The MC13783 Chip Errata, Rev. 4 says, that depending on SPI clock and main audio clock speed, the Audio Codec or Stereo DAC do sometimes not start when programmed to do so. This is due to an internal clock timing issue related to the loading of the SPI bits into the audio block. On an i.MX27 based system, this issue lead to switched audio channels under certain circumstances: RTC + Touch + Audio are used and loaded at startup. The mentioned workaround of writing registers 40 and 41 two times is implemented here. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Cc: stable@vger.kernel.org Signed-off-by: Mark Brown <broonie@linaro.org>
* Merge remote-tracking branch 'asoc/topic/ssm2602' into tmpMark Brown2013-09-011-1/+2
|\
| * ASoC: ssm2602: Fix cache syncLars-Peter Clausen2013-08-311-1/+2
| | | | | | | | | | | | | | | | The ssm2602 uses regmap for caching not soc-cache, so we need to use regcache_sync() instead of snd_soc_cache_sync(). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* | Merge remote-tracking branch 'asoc/topic/dapm' into tmpMark Brown2013-09-012-54/+175
|\ \
| * | ASoC: rt5640: change widget sequence for depopBard Liao2013-08-302-54/+175
| | | | | | | | | | | | | | | | | | Signed-off-by: Bard Liao <bardliao@realtek.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-dapmMark Brown2013-08-301-26/+0
| |\ \
* | \ \ Merge remote-tracking branch 'asoc/topic/wm8904' into tmpMark Brown2013-08-301-1/+0
|\ \ \ \
| * | | | ASoC: wm8904: Remove unnecessary call to snd_soc_dapm_new_widgets()Lars-Peter Clausen2013-08-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The core will call snd_soc_dapm_new_widgets() once all components of the card have been initialized, so there is no need to do this manually in the driver. Calling it earlier also might result in a partially instantiated system being powered up which cause undesired side effects. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | Merge remote-tracking branch 'asoc/topic/core' into tmpMark Brown2013-08-302-28/+11
|\ \ \ \ \
| * \ \ \ \ Merge remote-tracking branch 'asoc/topic/dapm' into asoc-coreMark Brown2013-08-276-54/+23
| |\ \ \ \ \ | | | |/ / / | | |/| | |
| * | | | | Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-coreMark Brown2013-08-271-15/+7
| |\ \ \ \ \
| | * | | | | ASoC: tlv320aic32x4: Convert table based control and DAPM setupLars-Peter Clausen2013-08-271-15/+7
| | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let the core take care of instantiating the controls and DAPM widgets and routes, this makes the code a bit shorter. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | Merge remote-tracking branch 'asoc/topic/dmic' into asoc-coreMark Brown2013-08-278-37/+41
| |\ \ \ \ \
| | * | | | | ASoC: dmic: Convert table based DAPM setupLars-Peter Clausen2013-08-271-13/+4
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let the core take care of instantiating the DAPM widgets and routes, this makes the code a bit shorter. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | | Merge tag 'asoc-v3.12' of ↵Takashi Iwai2013-08-2361-741/+2948
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v3.12 - DAPM is now mandatory for CODEC drivers in order to avoid the repeated regressions in the special cases for non-DAPM CODECs and make it easier to integrate with other components on boards. All existing drivers have had some level of DAPM support added. - A lot of cleanups in DAPM plus support for maintaining controls in a specific state while a DAPM widget all contributed by Lars-Peter Clausen. - Core helpers for bitbanged AC'97 reset from Markus Pargmann. - New drivers and support for Analog Devices ADAU1702 and ADAU1401(a), Asahi Kasei Microdevices AK4554, Atmel AT91ASM9x5 and WM8904 based machines, Freescale S/PDIF and SSI AC'97, Renesas R-Car SoCs, Samsung Exynos5420 SoCs, Texas Instruments PCM1681 and PCM1792A and Wolfson Microelectronics WM8997. - Support for building drivers that can support it cross-platform for compile test.
| * \ \ \ \ \ Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-nextMark Brown2013-08-221-15/+20
| |\ \ \ \ \ \
| | * | | | | | ASoC: wm8994: Fix class W controlsMark Brown2013-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 6e0650 (ASoC: wm8994: Use SOC_SINGLE_EXT() instead of open-coding it) went too far and converted a DAPM control to use SOC_SINGLE_EXT() which crashes. Revert that portion of the patch. Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | | | ASoC: wm8994: Use power efficient workqueueMark Brown2013-07-191-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The accessory detect debounce work is not performance sensitive so let the scheduler run it wherever is most efficient rather than in a per CPU workqueue by using the system power efficient workqueue. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
| | * | | | | | ASoC: wm8994: Move runtime PM init to platform device initMark Brown2013-07-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As well as being better style this allows the device to idle when there is no audio card instantaited which is probably what we want. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-nextMark Brown2013-08-221-4/+3
| |\ \ \ \ \ \ \
| | * | | | | | | ASoC: wm8962: Use power efficient workqueueMark Brown2013-07-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The accessory detect debounce work is not performance sensitive so let the scheduler run it wherever is most efficient rather than in a per CPU workqueue by using the system power efficient workqueue. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
| | * | | | | | | ASoC: wm8962: Do not call configure_bclk() inside wm8962_set_dai_sysclk()Fabio Estevam2013-07-191-2/+0
| | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently after playing any audio file, we get the following error message: $ aplay clarinet.wav Playing WAVE 'clarinet.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo $ wm8962 0-001a: Unsupported sysclk ratio 544 This error message appears about 5 seconds after the audio playback has finished. Quoting Mark Brown [1]: "The issue here is triggered by the machine switching from the FLL to direct MCLK usage where the MCLK isn't generating a useful ratio. I suspect we should just kill the configure_bclk() in set_sysclk(), that one isn't safe as we can't reconfigure a live SYSCLK and it's probably the one that generates your warnings." Confirmed that the "Unsupported sysclk ratio" error message comes from wm8962_set_dai_sysclk(), so get rid of wm8962_configure_bclk() inside this function. [1] http://mailman.alsa-project.org/pipermail/alsa-devel/2013-July/064241.html Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | Merge remote-tracking branch 'asoc/topic/wm8960' into asoc-nextMark Brown2013-08-221-2/+2
| |\ \ \ \ \ \ \
| | * | | | | | | ASoC: wm8960: Fix ADC volume bitsMa Haijun2013-08-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ma Haijun <mahaijuns@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/wm8904' into asoc-nextMark Brown2013-08-221-1/+1
| |\ \ \ \ \ \ \ \ | | | |_|_|_|_|/ / | | |/| | | | | |
| | * | | | | | | ASoC: wm8904: fix the typo error for LINER MuxBo Shen2013-07-181-1/+1
| | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix the typo error, from "LINEL Mux" to "LINER Mux" Signed-off-by: Bo Shen <voice.shen@atmel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | Merge remote-tracking branch 'asoc/topic/wm8782' into asoc-nextMark Brown2013-08-221-1/+16
| |\ \ \ \ \ \ \
| | * | | | | | | ASoC: wm8782: Add DAPM supportMark Brown2013-08-181-1/+16
| | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to make the device easier to hook up to external components in system designs and ensure operation when DAPM support becomes mandatory add DAPM support. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | Merge remote-tracking branch 'asoc/topic/wm8753' into asoc-nextMark Brown2013-08-221-2/+3
| |\ \ \ \ \ \ \
| | * | | | | | | ASoC: wm8753: Use power efficient workqueueMark Brown2013-07-191-2/+3
| | | |/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The work used to allow the capcitors to ramp is not performance sensitive so let the scheduler run it wherever is most efficient rather than in a per CPU workqueue by using the system power efficient workqueue. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
| * | | | | | | Merge remote-tracking branch 'asoc/topic/wm8731' into asoc-nextMark Brown2013-08-221-3/+57
| |\ \ \ \ \ \ \
| | * | | | | | | ASoC: wm8731: add rates constraintsRichard Genoud2013-07-301-3/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the mclk (or crystal) selected, the wm8731 codec have some constraints on its data sampling rates: e.g. with a 12.288MHz or 18.432MHz crystal, the authorized rates are 8KHz, 32KHz, 48KHz and 96KHz. Signed-off-by: Richard Genoud <richard.genoud@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/wm8727' into asoc-nextMark Brown2013-08-221-1/+16
| |\ \ \ \ \ \ \ \
| | * | | | | | | | ASoC: wm8727: Add DAPM supportMark Brown2013-08-181-1/+16
| | | |_|/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to make the device easier to hook up to external components in system designs and ensure operation when DAPM support becomes mandatory add DAPM support. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/wm8350' into asoc-nextMark Brown2013-08-221-2/+4
| |\ \ \ \ \ \ \ \
| | * | | | | | | | ASoC: wm8350: Use power efficient workqueueMark Brown2013-07-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The accessory detect debounce work is not performance sensitive so let the scheduler run it wherever is most efficient rather than in a per CPU workqueue by using the system power efficient workqueue. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
| | * | | | | | | | ASoC: twl6040: Use power efficient workqueueMark Brown2013-07-191-1/+2
| | | |_|/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The accessory detect debounce work is not performance sensitive so let the scheduler run it wherever is most efficient rather than in a per CPU workqueue by using the system power efficient workqueue. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-nextMark Brown2013-08-221-6/+6
| |\ \ \ \ \ \ \ \
| | * | | | | | | | ASoC: wm0010: Use DMA-safe memory for SPI transfersDimitris Papastamos2013-08-011-6/+6
| | | |/ / / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should be allocating our buffers for the SPI transfers from the DMA zone. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/wl1273' into asoc-nextMark Brown2013-08-221-0/+17
| |\ \ \ \ \ \ \ \
| | * | | | | | | | ASoC: wl1273: Add stub DAPM supportMark Brown2013-08-181-0/+17
| | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to ensure that the device continues to work with DAPM support being mandatory provide stub DAPM widgets and routes. Note that the public information on the device appears to make no mention of the FM support the driver appears to have. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/uda134x' into asoc-nextMark Brown2013-08-221-35/+53
| |\ \ \ \ \ \ \ \
| | * | | | | | | | ASoC: uda134x: fix codec driver by converting to DAPMRussell King2013-07-301-35/+53
| | | |_|/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason, the DAC/ADCs are not being powered up when I try and use the UDA1341 driver; this used to work. Looking back in the git history, I don't see anything obvious which would cause this regression. However, from dumping the register writes, it seems that the codec is powered down, and nothing calls set_bias_level to wake the codec up. Moreover, this driver hasn't had DAPM support added to it, which prevents platform drivers from taking advantage of DAPMs facilities. So, let's add DAPM support to the driver. As we move the power control for the DAC/ADC into DAPM, we no longer need it in set_bias_level() - this function just becomes a way to manipulate the power control and sync the register cache with the hardware at the appropriate point. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-nextMark Brown2013-08-221-1/+2
| |\ \ \ \ \ \ \ \
| | * | | | | | | | ASoC: twl6040: Use power efficient workqueueMark Brown2013-07-221-1/+2
| | | |_|/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The accessory detect debounce work is not performance sensitive so let the scheduler run it wherever is most efficient rather than in a per CPU workqueue by using the system power efficient workqueue. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-nextMark Brown2013-08-221-2/+0
| |\ \ \ \ \ \ \ \
| | * | | | | | | | ASoC: twl4030: Remove embedded snd_soc_codec structs from private data structsLars-Peter Clausen2013-08-061-2/+0
| | | |_|/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is unused and a leftover of the pre multi-component era. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | | | Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-nextMark Brown2013-08-221-0/+4
| |\ \ \ \ \ \ \ \
| | * | | | | | | | ASoC: tlv320aic3x: List tlv320aic3106 as a supported deviceMark Brown2013-07-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is no specific handling for it but the tlv320aic3106 is supported using this driver. Signed-off-by: Mark Brown <broonie@linaro.org>
OpenPOWER on IntegriCloud