aboutsummaryrefslogtreecommitdiff
path: root/sound/soc
AgeCommit message (Collapse)Author
2014-05-08ASoC: rt5645: Correct the cache sync functionOder Chiou
The patch corrects the cache sync function Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-08ASoC: rt5645: Move settings from probe() to reg_default structOder Chiou
The patch moves the private register settings from probe() to reg_default struct. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-08ASoC: rt5645: Staticise non-exported symbolsOder Chiou
The patch is for staticising non-exported symbols Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-08ASoC: rt5645: Remove the unused variableOder Chiou
The patch is for removing the unused variable. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-07ASoC: sam9g20_wm8731: remove useless mach/gpio.hNicolas Ferre
This include file is about to disapear. In addition it is useless for this code. So it is time to remove it. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Mark Brown <broonie@linaro.org>
2014-05-07ASoC: Remove unused num_dai field from CODECLars-Peter Clausen
Commit d191bd8de8 ("ASoC: snd_soc_codec includes snd_soc_component") removed the last user of the num_dai field. Also remove the field itself. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-07ASoC: Remove unused 'list' field form cardLars-Peter Clausen
The global card list was removed in commit b19e6e7b7 ("ASoC: core: Use driver core probe deferral"). The 'list' field of the snd_soc_card struct has been unused since then. This patch removes the field. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-07ASoC: Remove card's DAI listLars-Peter Clausen
Commit f0fba2ad1 ("ASoC: multi-component - ASoC Multi-Component Support") added a per card list that keeps track of all the DAIs that have been registered with the card, but the list has never been used. This patch removes it again. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-07Merge branch 'topic/component' of ↵Mark Brown
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-core
2014-05-07ASoC: Intel: Fix block offset calculations.Liam Girdwood
Block offset calculations are done in the contiguous allocator so are not required here. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoC: Add support for CS42L56 CODECBrian Austin
This patch adds support for the Cirrus Logic Low Power Stereo I2C CODEC Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoC: sta350: add support for bits in miscellaneous registersDaniel Mack
Add support for RPDNEN, NSHHPEN, BRIDGOFF, CPWMEN and PNDLSL, and add DT bindings to access them. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoC: Intel: Fix check for pdata usage before dereference.Liam Girdwood
This patch fixes the following dereference check ordering. sound/soc/intel/sst-haswell-pcm.c:749 hsw_pcm_probe() warn: variable dereferenced before check 'pdata' (see line 746) git remote add asoc git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git git remote update asoc git checkout 0b708c87f66a15190fb43661c2320fd48c4dc6c8 vim +/pdata +749 sound/soc/intel/sst-haswell-pcm.c a4b12990 Mark Brown 2014-03-12 740 }; a4b12990 Mark Brown 2014-03-12 741 a4b12990 Mark Brown 2014-03-12 742 static int hsw_pcm_probe(struct snd_soc_platform *platform) a4b12990 Mark Brown 2014-03-12 743 { a4b12990 Mark Brown 2014-03-12 744 struct sst_pdata *pdata = dev_get_platdata(platform->dev); a4b12990 Mark Brown 2014-03-12 745 struct hsw_priv_data *priv_data; 0b708c87 Liam Girdwood 2014-05-02 @746 struct device *dma_dev = pdata->dma_dev; 0b708c87 Liam Girdwood 2014-05-02 747 int i, ret = 0; a4b12990 Mark Brown 2014-03-12 748 a4b12990 Mark Brown 2014-03-12 @749 if (!pdata) a4b12990 Mark Brown 2014-03-12 750 return -ENODEV; a4b12990 Mark Brown 2014-03-12 751 a4b12990 Mark Brown 2014-03-12 752 priv_data = devm_kzalloc(platform->dev, sizeof(*priv_data), GFP_KERNEL); Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoC: dapm: Make sure to always update the DAPM graph in _put_volsw()Lars-Peter Clausen
When using auto-muted controls it may happen that the register value will not change when changing a control from enabled to disabled (since the control might be physically disabled due to the auto-muting). We have to make sure to still update the DAPM graph and disconnect the mixer input. Fixes: commit 5729507 ("ASoC: dapm: Implement mixer input auto-disable") Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoC: Make soc_find_matching_codec() staticLars-Peter Clausen
The function is only used locally, make it static. Fixes the following warning from sparse: sound/soc/soc-core.c:1644:22: warning: symbol 'soc_find_matching_codec' was not declared. Should it be static? Fixes: 3ca041ed ("ASoC: dt: Allow Aux Codecs to be specified using DT") Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-By: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoc: fsl_spdif: Add descriptions for fsl_spdif_privNicolin Chen
Other people would clearly understand each member and improve if they want. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoC: fsl_spdif: Print actual sample rate for debugNicolin Chen
People would simply know what the driver gets the best for the current sample rate playback. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoC: fsl_spdif: Add sysclk df support to derive txclk from sysclkNicolin Chen
The sysclk is one the clock sources that could be selected to derive tx clock. But the route for sysclk is a bit different that it does not only contain txclk df divider but also have an extra sysclk df. So this patch mainly adds syclk df configuration support so as to let the driver be able to get clock from sysclk. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05ASoC: fsl_spdif: Rename all _div to _dfNicolin Chen
We should have used _df by following the reference manual at the beginning. So this patch just renames them. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-05Merge tag 'v3.15-rc4' into asoc-fsl-spdifMark Brown
Linux 3.15-rc4
2014-05-05ASoC: fsl_spdif: Use clk_set_rate() for spdif root clock onlyNicolin Chen
The clock mux for the Freescale S/PDIF controller has eight clock sources while most of them are from other moudles and even system clocks that do not allow a rate-changing operation. So we here only allow the clk_set_rate() and clk_round_rate() happened to spdif root clock, the private clock for S/PDIF controller. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-03ASoC: rt5645: Add codec driverOder Chiou
This patch adds the Realtek ALC5645 codec driver. It is the base version that because the jack detect function is not implemented to it, the headphone and AMIC1 are not workable. We will fill up the further functions later. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02ASoC: add SND_SOC_BYTES_EXTVinod Koul
we need _EXT version for SND_SOC_BYTES so that DSPs can use this to pass data for DSP modules Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02Merge branch 'topic/input' of ↵Mark Brown
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-cs42l51 Conflicts: sound/soc/codecs/Kconfig
2014-05-02ASoC: Intel: Fix stream position pointer.Liam Girdwood
Read the stream offset and presentation position from DSP memory rather than using the old estimated position. This fixes timing issues with pulseaudio. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02ASoC: Intel: Fix allow hw_params to be called more than once.Liam Girdwood
hw_params() can be called multiple times. Make sure we release the DSP stream that was allocated on previous hw_params() calls before allocating a new DSP stream. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02ASoC: Intel: Fix Audio DSP usage when IOMMU is enabled.Liam Girdwood
The Intel IOMMU requires that the ACPI device is used to allocate all DMA memory buffers. This means we need to pass the DMA device pointer into child component devices that allocate DMA memory. We also only set the DMA mask for the ACPI device now instead of for each component device. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02ASoC: Intel: Fix Haswell/Broadwell DSP page table creation.Liam Girdwood
Fix page table creation on Haswell and Broadwell to remove unsafe virt_to_phys mappings and use more portable SG buffer. Use audio buffer APIs to allocate DMA buffers. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02ASoC: Intel: Fix allocated block list usage when adding blocks.Liam Girdwood
Make sure we add the allocated blocks to the modules list of blocks. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02ASoC: Intel: Fix block allocation so we only allocate blocks once.Liam Girdwood
Make sure we dont alloc blocks twice with requests spanning more than one block. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-02ASoC: Remove IS_ENABLED for INPUT in CS42L52 and WM8962Brian Austin
Now that INPUT is required for the CS42L52 and WM8962 we can remove the IS_ENABLED(INPUT) check in the drivers. Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: fsl: select SND_SOC_IMX_PCM_DMA where neededArnd Bergmann
Since commit 204dec93eaa "ASoC: fsl: Allow to select individual common options", it is possible to enable SND_SOC_FSL_SSI and SND_SOC_FSL_SPDIF manually, either as loadable modules or built-in. This unfortunately leads to a link error if one or both of them are built-in, while the imx-pcm-dma framework is a loadable module: sound/built-in.o: In function `fsl_ssi_probe': :(.text+0x51fb8): undefined reference to `imx_pcm_dma_init' sound/built-in.o: In function `fsl_spdif_probe': :(.text+0x52e20): undefined reference to `imx_pcm_dma_init' This changes Kconfig to prevent this case by using 'select' to turn on the imx-pcm-dma code from both drivers. For consistency, we also turn on the imx-pcm-fiq code, which is an alternative to the dma implementation. Note that imx-pcm-fiq is platform dependent, so we must not enable that unless we are building a kernel for i.MX. Note also the "if SND_IMX_SOC != n" syntax as opposed to the normal "if SND_IMX_SOC". This is needed to avoid turning on the options as 'm' if 'SND_IMX_SOC' is a module. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: Amstrad E3 needs TTY support for codecArnd Bergmann
The cx20442 codec driver used here requires the TTY layer to be enabled, or we get a link error: sound/built-in.o: In function `cx20442_codec_remove': cx20442.c:398: undefined reference to `tty_hangup' sound/built-in.o: In function `ams_delta_remove': ams-delta.c:613: undefined reference to `tty_unregister_ldisc' sound/built-in.o: In function `ams_delta_cx20442_init': ams-delta.c:559: undefined reference to `tty_register_ldisc' This adds the missing dependency in the E3 configuration, there was already one for the codec. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: sh: Migo-R sound needs I2CArnd Bergmann
The WM8978 driver needs I2C to be enabled, so the SND_SIU_MIGOR option also requires this. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: samsung: TLV320AIC23 and Simtec Hermes audio need I2CArnd Bergmann
This codec requires I2C to be enabled, so any other option that selects it should also depend on I2C. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: atmel: Atmel WM8904 codec support needs I2CArnd Bergmann
The WM8904 codec driver needs I2C to be enabled, so the SND_ATMEL_SOC_WM8904 option also requires this. Found using randconfig build testing. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: fsl: Allow to select ESAI device individuallyXiubo Li
This will be useful for out-of-tree drivers since in-tree drivers could select it automatically. Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: fsl: Allow to select SAI device individuallyXiubo Li
This will be useful for out-of-tree drivers since in-tree drivers could select it automatically. Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: pxa: TTC DKB audio needs I2CArnd Bergmann
The missing dependency can lead to build errors, so make it explicit in Kconfig. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: samsung: UDA1380 needs I2CArnd Bergmann
The UDA1380 driver needs I2C to be enabled, so SND_SOC_SAMSUNG_H1940_UDA1380 and SND_SOC_SAMSUNG_RX1950_UDA1380 also require this. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: RX-51 audio needs I2CArnd Bergmann
The codec requires I2C to be enabled, so any other option that selects it should also depend on I2C. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: Add DT supportSebastian Reichel
This patch adds device tree support to the Nokia N900 audio driver and adds documentation for the DT binding. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01Merge branch 'asoc-dt' into asoc-omapMark Brown
2014-05-01ASoC: dt: Allow Aux Codecs to be specified using DTSebastian Reichel
This patch adds support for specifying auxiliary codecs and codec configuration via device tree phandles. This change adds new fields to snd_soc_aux_dev and snd_soc_codec_conf and adds support for the changes to SoC core methods. Signed-off-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: Add some error messagesSebastian Reichel
Add more error messages making it easier to identify problems. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: get GPIO numbers via gpiod APISebastian Reichel
Update the driver to get GPIO numbers from the devm gpiod API instead of requesting hardcoded GPIO numbers. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: omap_mcbsp_st_add_controls: add id parameterSebastian Reichel
This is a preparation for DT based booting where the McBSP id is set to -1 for all McBSP instances. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: wm8985: Use devm_regulator_bulk_get()Fabio Estevam
Using devm_regulator_bulk_get() can make the code cleaner and smaller as we do not need to call regulator_bulk_free() in the error and remove paths. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: nuc900: export nuc900_ac97_dataArnd Bergmann
The symbol "nuc900_ac97_data" is used by the nuc900_pcm driver, which may be a loadable module, so we should export it. If one tries to build SND_SOC_NUC900 without SND_SOC_NUC900_AC97, the kernel fails to link because of the reference to nuc900_ac97_data. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: samsung-idma: avoid 64-bit divisionArnd Bergmann
dma_addr_t may be 64 bit wide, which causes a build failure when doing a division on it. Here it is safe to cast to an u32 type, which avoids the problem. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Tested-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>