summaryrefslogtreecommitdiff
path: root/sound/soc
AgeCommit message (Collapse)Author
2014-07-21ASoC: tas2552: Fix PM sequencingDan Murphy
In the pm suspend/resume it is better to disable the GPIO after the regmap_cache setting calls so that if the call is interrupted the new reg values will be cached and set on resume. Also add pm_runtime_put in the remove call. Signed-off-by: Dan Murphy <dmurphy@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-19Merge tag 'samsung-cleanup' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup Merge "Samsung cleanup for v3.17" from Kukjin Kim: Most of them are for exynos SoCs, remove useless codes and update for PMU consolidation. - remove unnecessary header file in mach-exynos/pmu.c - remove unused code in mach-exynos/common.h - remove mach-exynos/regs-pmu.h dependency from PD - remove file path from comment section in mach-exynos - move SYSREG definitions into mach-exynos/regs-sys.h - add mapping PMU base address via DT for PMU cleanup - use staic in mach-exynos/common.h - update Samsung UART config options for low-level debug * tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: EXYNOS: Add support for mapping PMU base address via DT ARM: EXYNOS: Remove "linux/bug.h" from pmu.c ARM: EXYNOS: Remove regs-pmu.h header dependency from pm_domain ARM: EXYNOS: Remove file path from comment section ARM: EXYNOS: Move SYSREG definition into sys-reg specific file ARM: EXYNOS: Make exynos machine_ops as static ARM: EXYNOS: Remove unused code in common.h ARM: debug: Update Samsung UART config options + Linux 3.16-rc5 Signed-off-by: Olof Johansson <olof@lixom.net>
2014-07-17Merge remote-tracking branches 'asoc/fix/samsung', 'asoc/fix/sgtl5000', ↵Mark Brown
'asoc/fix/simple' and 'asoc/fix/tlv320aic3x' into asoc-linus
2014-07-17Merge remote-tracking branches 'asoc/fix/fsl-sai', 'asoc/fix/intel', ↵Mark Brown
'asoc/fix/max98090' and 'asoc/fix/s6000' into asoc-linus
2014-07-17Merge remote-tracking branches 'asoc/fix/adau1701', 'asoc/fix/adsp', ↵Mark Brown
'asoc/fix/arizona', 'asoc/fix/blackfin', 'asoc/fix/cs42l56', 'asoc/fix/davinci' and 'asoc/fix/debugfs' into asoc-linus
2014-07-17Merge remote-tracking branch 'asoc/fix/rcar' into asoc-linusMark Brown
2014-07-17Merge remote-tracking branch 'asoc/fix/pcm' into asoc-linusMark Brown
2014-07-17Merge tag 'asoc-v3.16-rc1' into asoc-linusMark Brown
ASoC: Fixes for v3.16 Quite a few build coverage fixes in here among the usual small driver fixes includling the sigmadsp change from Lars - moving the driver to separate modules per bus (which is basically just code motion) avoids issues with some combinations of buses being enabled. # gpg: Signature made Thu 19 Jun 2014 11:57:31 BST using RSA key ID 7EA229BD # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>" # gpg: aka "Mark Brown <broonie@debian.org>" # gpg: aka "Mark Brown <broonie@kernel.org>" # gpg: aka "Mark Brown <broonie@tardis.ed.ac.uk>" # gpg: aka "Mark Brown <broonie@linaro.org>" # gpg: aka "Mark Brown <Mark.Brown@linaro.org>"
2014-07-17ASoC: Fix SOC_DOUBLE_R_SX_TLV volume mixer argumentsBrian Austin
Remove unnecessary bit shifts. Correct min value to match datasheet. Num steps = number of steps between min and max. Reported-by: Ryan Harvey <ryan.harvey@cirrus.com> Signed-off-by: Ryan Harvey <ryan.harvey@cirrus.com> Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-17ASoC: cs42l56: Fix stereo channel register assignment for Headphone and ↵Brian Austin
LineOut volume mixers Stereo Headphone and LineOut volume mixers are now attached to HPA+HPB, LOA+LOB. Reported-by: Ryan Harvey <ryan.harvey@cirrus.com> Signed-off-by: Ryan Harvey <ryan.harvey@cirrus.com> Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-17ASoC: fsl_sai: Fix incorrect register writing in fsl_sai_isr()Nicolin Chen
In the rx irq handling part, we should clear the flags in RCSR not TCSR. Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-17ASoC: fsl_sai: Reset FIFOs after disabling TE/RENicolin Chen
SAI will not clear their FIFOs after disabling TE/RE. Therfore, the driver should take care the task so as not to let useless data remain in the FIFO. Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-17ASoC: tas2552: Support TI TAS2552 AmplifierDan Murphy
Support the TI TAS2552 Class D amplifier. The TAS2552 is a high efficiency Class-D audio power amplifier with advanced battery current management and an integrated Class-G boost The device constantly measures the current and voltage across the load and provides a digital stream of this information. Signed-off-by: Dan Murphy <dmurphy@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-17ASoC: blackfin: use samples to set silenceScott Jiang
The third parameter for snd_pcm_format_set_silence needs the number of samples instead of sample bytes. Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2014-07-17ASoC: Remove unused 'r' variable from dapm_connect_dai_link_widgets()Lars-Peter Clausen
It was accidentally added in commit 44ba2641 ("ASoC: dapm: Add support for DAI multicodec"). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: Intel: Add Broadwell Machine supportLiam Girdwood
Add support for Broadwell based machines with SST DSP audio. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jie Yang <yang.jie@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16Merge remote-tracking branch 'asoc/topic/rt286' into HEADMark Brown
2014-07-16ASoC: pcm: Add soc_dai_hw_params helperBenoit Cousson
Add a function helper to factorize the hw_params code. Suggested by Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Benoit Cousson <bcousson@baylibre.com> Tested-by: Lars-Peter Clausen <lars@metafoo.de> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: compress: Prevent multicodec for compressed streamBenoit Cousson
Multiple codecs does not make sense in the case of compressed stream. Exit with error if it happens. Signed-off-by: Benoit Cousson <bcousson@baylibre.com> Tested-by: Lars-Peter Clausen <lars@metafoo.de> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: dapm: Add support for DAI multicodecBenoit Cousson
Add multicodec support in soc-dapm.c Signed-off-by: Benoit Cousson <bcousson@baylibre.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com> Signed-off-by: Fabien Parent <fparent@baylibre.com> Tested-by: Lars-Peter Clausen <lars@metafoo.de> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: pcm: Add support for DAI multicodecBenoit Cousson
Add multicodec support in soc-pcm.c Signed-off-by: Benoit Cousson <bcousson@baylibre.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com> Signed-off-by: Fabien Parent <fparent@baylibre.com> Tested-by: Lars-Peter Clausen <lars@metafoo.de> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: core: Add initial support for DAI multicodecBenoit Cousson
DAI link assumes a one to one mapping between CPU DAI and CODEC. In some cases, the same CPU DAI can be connected to several codecs. This is the case for example, if you connect two mono codecs to the same I2S link in order to have a stereo card. The current ASoC implementation does not allow such setup. Add support for DAI links composed of a single CPU DAI and multiple CODECs. Sound cards have to pass the CODECs array in the corresponding DAI link through a new 'snd_soc_dai_link_component' struct. Each CODEC in this array is described in the same manner single CODEC DAIs are (either DT/OF node or codec_name). Multi-codec links are not supported in the case of CODEC to CODEC links. Just print a warning if it happens. Based on an original code done by Misael. Signed-off-by: Benoit Cousson <bcousson@baylibre.com> Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com> Signed-off-by: Fabien Parent <fparent@baylibre.com> Tested-by: Lars-Peter Clausen <lars@metafoo.de> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16Merge remote-tracking branch 'asoc/topic/component' into asoc-multiMark Brown
2014-07-16ASoC: core: add a helper for extended byte controls using TLVOmair Mohammed Abdullah
ALSA supports arbitrary length TLVs for each kcontrol that can be used to pass metadata about the control (e.g. volumes, enum information). The same transport mechanism is now used for arbitrary length data by defining a new helper. Signed-off-by: Omair Mohammed Abdullah <omair.m.abdullah@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: Intel: Update FW version readbackJie Yang
Update FW version readback. IPC_GLB_GET_FW_VERSION reads back the ABI version whilst the release version is in the mailbox. Update to use mailbox version for info logging. Signed-off-by: Jie Yang <yang.jie@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: mcasp: don't override bclk divider if it was provided by the machineDaniel Mack
If a machine driver provides an BCLK divider to the McASP driver, skip the automatic calculation. This fixes machines on which the physical sample transport always works in 32 bits, even though not all of them are actually used. snd_soc_params_to_bclk() will fail to address such cases properly. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: davinci-mcasp: Use dmaengine based platform driver for AM335x/447xPeter Ujfalusi
Use the edma-pcm with AM335x and AM437x SoCs. Keep using the davinci-pcm for daVinci devices, they can be switched to use the dmaengine based driver later when they are verified to work correctly. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Tested-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: edma-pcm: Add empty functions for !CONFIG_SND_EDMA_SOC buildsPeter Ujfalusi
So drivers mixing with other platform drivers, like davinci-mcasp do not need to fiddle with CONFIG_SND_EDMA_SOC in their code. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Tested-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16ASoC: edma-pcm: Remove PCM_INFO_BATCH and add PCM_INFO_NO_PERIOD_WAKEUP flagPeter Ujfalusi
The SNDRV_PCM_INFO_BATCH will be added back based on the dmaengine driver's capabilities. Patches for edma dmaengine driver has been prepared to suppress the interrupts. We can add this flag right away and have the benefit of not having interrupts during audio activity when the edma and ASoC patches are in the same tree. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Tested-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-16Merge remote-tracking branch 'asoc/fix/davinci' into asoc-davinciMark Brown
2014-07-16ASoC: intel: Cleanup useless ACPI inclusion.Lv Zheng
The sst-haswell-dsp.c is an ACPI independent file, this patch removes ACPI header files for it. Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: samsung: remove unused DMA dataArnd Bergmann
The s3c_dma_client structures and the 'ch' and 'ops' members in s3c_dma_params were only used by the legacy DMA driver and serve no function any more. This removes any reference to them. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: samsung: s3c24xx dmaengine follow-upArnd Bergmann
Commit ae602456e83c92 ("ASoC: samsung: drop support for legacy S3C24XX DMA API") removed the old code for the samsung specific DMA interfaces, now that everybody can use dmaengine. This picks up the few remaining pieces left over by that patch: The most important one is the removal of the dma_data->ops->started() calls in ac97. My understanding is that these are only required for drivers that do not support cyclic transfers, which the new dma engine driver now does, so we can simply remove them. This would also fix at least one bug in the ac97 driver on newer machines, which currently gives us a NULL pointer dereference from trying to call dma_data->ops->started(). Further, we must no longer 'select' S3C2410_DMA, which conflicts with the dmaengine driver. The SND_S3C_DMA symbol is now useless, because it is always selected, so we can remove it and build the dmaengine support unconditionally. Finally, we should not 'select' S3C24XX_DMAC or S3C64XX_PL080, which may have additional dependencies. This replaces it with 'depends on', to be more conservative. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: Intel: mfld: add generic parameter interfaceVinod Koul
This interface will be used by subsequent patches to set/get parameters from DSP Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: Intel: mfld: add dsp error codesVinod Koul
DSP returns error codes for IPC return so add them in driver Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: Intel: add sst shim register start-end variablesVinod Koul
the shim registers start and end can be useful while parsing the shim addresses, so add these Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: rt286: make rt286_i2c_driver staticBard Liao
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: Intel: Start with all memory banks disabledJie Yang
All required banks are enabled during boot procedure. Signed-off-by: Jie Yang <yang.jie@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: Intel: Use a table for ADSP SRAM shiftJie Yang
Use a table for ADSP IRAM/DRAM bit shift. Signed-off-by: Jie Yang <yang.jie@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: Intel: Merge wild cat point ADSP DRAM regionsJie Yang
Merge D-SRAM0 D-SRAM1 D-SRAM2 to D-SRAM, for wild cat point ADSP mem regions. Signed-off-by: Jie Yang <yang.jie@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: Intel: Add dummy read for SRAM block enableJie Yang
Add dummy read after each block enable, to workaround SRAM write missing bytes issue. Signed-off-by: Jie Yang <yang.jie@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: Intel: Cleanup HSW pcm format supportJie Yang
This change removes unsupported formats from System, Capture and Loopback FE DAIs. Also it fixes S24_LE support on all DAIs. While at this fix 24 bit flag for BYT as well. Signed-off-by: Jie Yang <yang.jie@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2014-07-14ASoC: samsung: no more support for S5P6440 and S5P6450 SoCsKukjin Kim
This patch removes s5p64x0 related WM8580 because of removing support for s5p64x0 SoCs. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> [pebolle@tiscali.nl: reported missing dependency for smdk6450] Reported-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: samsung: add explicit i2c/spi dependenciesArnd Bergmann
I got another build error from SND_SOC_SMARTQ selecting SND_SOC_WM8750 without ensuring that I2C is enabled, in this example, i2c is a loadable module: sound/built-in.o: In function `wm8750_i2c_probe': :(.text+0x3e6c0): undefined reference to `devm_regmap_init_i2c' sound/built-in.o: In function `wm8750_exit': :(.exit.text+0x3f4): undefined reference to `i2c_del_driver' sound/built-in.o: In function `wm8750_modinit': :(.init.text+0x13d0): undefined reference to `i2c_register_driver' This changes the samsund ASoC Kconfig to have explicit I2C dependencies for each driver that uses an i2c bus and SPI dependencies for the ones using those. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: omap-dmic: Use devm_clk_getHimangi Saraogi
This patch introduces the use of managed interfaces like devm_clk_get and does away with the clk_puts in the probe and remove functions. A label is also done away with. Signed-off-by: Himangi Saraogi <himangi774@gmail.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-14ASoC: rockchip: fix duplicated argument to && or ||xujianqun
This resulted from an unfortunate copy/paste to similar DEFINE name. Detected automagically by kbuild. Signed-off-by: xujianqun <xjq@rock-chips.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-11ASoC: samsung-i2s: Maintain CDCLK settings across i2s_{shutdown/startup}Sylwester Nawrocki
Currently configuration of the CDCLK pad is being overwritten in the i2s_shutdown() callback in order to gate the SoC output clock. However if an ASoC machine driver doesn't restore that clock settings each time after opening the sound device this results in the CDCLK pin being permanently configured into input mode. I.e. the output clock will always stay disabled. Fix that by saving the CDCLKCON bit state in i2s_shutdown() and and restoring it in the i2s_startup() callback. Signed-off-by: Chen Zhen <zhen1.chen@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-11ASoC: rockchip: add missing module.h includexujianqun
Missing module.h in linux directory will cause compile error with randconfig, like as: sound/soc/rockchip/rockchip_i2s.c:526:20: error: expected declaration specifiers or ‘...’ before string constant MODULE_DESCRIPTION("ROCKCHIP IIS ASoC Interface"); Signed-off-by: xujianqun <xjq@rock-chips.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-10ASoC: arizona: Update handling for input change on an active FLLCharles Keepax
Currently, the driver places no restrictions on changes that can be applied to an active FLL. However, it is only possible to change the input for an active FLL, to change the output the FLL should be stopped and then recofigured. This patch disallows changes in output frequency and adds some additional handling to ensure the output remains consistent across an input transition. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-07-10ASoC: arizona: FLL freerun only required whilst disablingCharles Keepax
The FLL freerun is only required whilst we disable the FLL not the entire time the FLL is disabled. This patch moves the FLL freerun disable from the enable sequence to the disable sequence. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>