aboutsummaryrefslogtreecommitdiff
path: root/sound/soc
AgeCommit message (Collapse)Author
2013-01-22Merge remote-tracking branch 'asoc/fix/wm2200' into tmpMark Brown
2013-01-22Merge remote-tracking branch 'asoc/fix/fsl' into tmpMark Brown
2013-01-22Merge remote-tracking branch 'asoc/fix/core' into tmpMark Brown
2013-01-22Merge remote-tracking branch 'asoc/fix/arizona' into tmpMark Brown
2013-01-22ASoC: wm_adsp: Release firmware on errorCharles Keepax
This patch correctly releases the firmware if the magic string in the firmware header does not match. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-20ASoC: wm_adsp: Use GFP_DMA for things that may be DMAedMark Brown
Normally kmalloc() returns things that are DMA safe so not visible on all platforms but we do need to explicitly request DMA safe memory. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-17ASoC: arizona: Use actual rather than desired BCLK when calculating LRCLKMark Brown
Otherwise we'll get the wrong LRCLK if we need to pick a higher BCLK than is required. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-16ASoC: wm2200: correct mixer values and textChris Rattray
Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-12ASoC: wm5110: Correct AEC loopback maskMark Brown
The generated defines in the header are pre-shifted. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-12ASoC: wm5102: Correct AEC loopback maskMark Brown
The generated defines in the header are pre-shifted. Reported-by: Heather Lomond <Heather.Lomond@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-12ASoC: dapm: Fix sense of regulator bypass modeMark Brown
Enable bypass when the regulator is idle, not when it is in use. This is consistent with what the few existing users actually want. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-12ASoC: fsl: fix multiple definition of init_moduleShawn Guo
With commit f2818d0 (ASoC: fsl: fix miscompilation of snd-soc-imx-pcm), we will see the following build error when building modules with CONFIG_SND_IMX_SOC=m in imx_v6_v7_defconfig. CC [M] sound/soc/fsl/phycore-ac97.o LD [M] sound/soc/fsl/snd-soc-fsl-ssi.o LD [M] sound/soc/fsl/snd-soc-fsl-utils.o LD [M] sound/soc/fsl/snd-soc-imx-ssi.o LD [M] sound/soc/fsl/snd-soc-imx-audmux.o LD [M] sound/soc/fsl/snd-soc-imx-pcm.o sound/soc/fsl/imx-pcm-dma.o: In function `init_module': imx-pcm-dma.c:(.init.text+0x0): multiple definition of `init_module' sound/soc/fsl/imx-pcm-fiq.o:imx-pcm-fiq.c:(.init.text+0x0): first defined here sound/soc/fsl/imx-pcm-dma.o: In function `cleanup_module': imx-pcm-dma.c:(.exit.text+0x0): multiple definition of `cleanup_module' sound/soc/fsl/imx-pcm-fiq.o:imx-pcm-fiq.c:(.exit.text+0x0): first defined here make[4]: *** [sound/soc/fsl/snd-soc-imx-pcm.o] Error 1 Instead of using bool for SND_SOC_IMX_PCM_FIQ and SND_SOC_IMX_PCM_DMA to fix the original issue, we should completely remove SND_SOC_IMX_PCM and have imx-pcm.o statically linked with imx-pcm-fiq.o or imx-pcm-dma.o. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-10Merge remote-tracking branch 'asoc/fix/wm5100' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/wm2200' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/wm2000' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/wm-adsp' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/sta529' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/sgtl5000' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/lm49453' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/cs42l52' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/cs4271' into tmpMark Brown
2013-01-10Merge remote-tracking branch 'asoc/fix/core' into tmpMark Brown
2013-01-08ASoC: arizona: Disable free-running mode on FLL1Charles Keepax
The free running mode can cause problems when attempting to bring up the FLL running from a defined clock source. This patch disables free-running mode. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-07ASoC: wm_adsp: Ensure that block writes are from DMA aligned addressesMark Brown
Otherwise we won't run correctly on systems that require this for larger data transfers. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-01-04ASoC: wm2000: Fix sense of speech clarity enableMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-04ASoC: wm5100: Remove DSP B and left justified formatsMark Brown
These are not supported Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-04ASoC: arizona: Remove DSP B and left justified AIF modesMark Brown
These are not supported. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-04ASoC: wm2200: Remove DSP B and left justified AIF modesMark Brown
These are not supported. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2013-01-02ASoC: wm5102: Improve speaker enable performanceMark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-27ASoC: core: fix the memory leak in case of remove_aux_dev()Chuansheng Liu
When probing aux_dev, initializing is as below: device_initialize() device_add() So when remove aux_dev, we need do as below: device_del() device_put() Otherwise, the rtd_release() will not be called. So here using device_unregister() to replace device_del(), like the action in soc_remove_link_dais(). Signed-off-by: liu chuansheng <chuansheng.liu@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-27ASoC: core: fix the memory leak in case of device_add() failureChuansheng Liu
After called device_initialize(), even device_add() returns error, we still need use the put_device() to release the reference to call rtd_release(), which will do the free() action. Signed-off-by: liu chuansheng <chuansheng.liu@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24ASoC: cs42l52: Catch no-match case in cs42l52_get_clkAxel Lin
In the case of no-match, return -EINVAL instead of 0. Since we assign i to ret in the for loop, ret always less than ARRAY_SIZE(clk_map_table). Thus remove the boundary checking for ret. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24ASoC: lm49453: Update lm49453_reg_defs values as per LM49453 HW revision-BMR.Swami.Reddy@ti.com
Update lm49453_reg_defs values as per LM49453 HW revision-B Signed-off-by: M R Swami Reddy <mr.swami.reddy@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24ASoC: lm49453: Fix adc, mic and sidetone volume rangesMR.Swami.Reddy@ti.com
Add adc, mic, sidetone volume ranges and appropriately added the controls. Fix the DAC HP/EP/LS/LO/HA maximum gain values. Signed-off-by: MR Swami Reddy <mr.swami.reddy@ti.com> Tested-by: Vinod Koul <vinod.koul@intel.com> -- sound/soc/codecs/lm49453.c | 43 ++++++++++++++++++++++++------------------- 1 files changed, 24 insertions(+), 19 deletions(-) Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24ASoC: arizona: Correct FLL source definitionsMark Brown
The FLL source constants were numbered as a simple enumeration but were being used in the code as direct values to be written to the registers. Renumber the constants to reflect the usage. Reported-by: Ryo Tsutsui <Ryo.Tsutsui@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-12-24ASoC: arizona: Do proper shift for setting AIF rateAxel Lin
ARIZONA_AIF1_RATE_MASK is 0x7800 /* AIF1_RATE - [14:11] */ Thus we need left shift ARIZONA_AIF1_RATE_SHIFT when setting aif1 rate. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-12-24ASoC: lm49453: Fix mask for setting mode bit in lm49453_set_dai_fmt()Axel Lin
The mode variable is either 0 or 1. To update mode setting, the mask should be BIT(0) rather than BIT(1). Signed-off-by: Axel Lin <axel.lin@ingics.com> Tested-by: Omair M. Abdullah <omair.m.abdullah@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24ASoC: sgtl5000: Fix maximum value for microphone gainFabio Estevam
sgtl5000 microphone gain only has 2 bits of resolution, so maximum value is 3. From Eric Nelson: "We also found that for the microphones we have here (commodity PC boom mics) a default value of 2 for the gain gives the best results." So change the default microphone gain as well. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-24ASoC: soc-core: Remove unused 'ret' variableFabio Estevam
commit 9bde4f0b1c (ASoC: core: Fix SOC_DOUBLE_RANGE() macros) introduced the following build warning: sound/soc/soc-core.c:2999:6: warning: unused variable 'ret' [-Wunused-variable] Remove the unused 'ret' variable. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-12-21ASoC: wm2200: Fix setting dai format in wm2200_set_fmtAxel Lin
According to the defines in wm2200.h: /* * R1284 (0x504) - Audio IF 1_5 */ We should not left shift 1 bit for fmt_val when setting dai format. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-12-20ASoC: core: Fix SOC_DOUBLE_RANGE() macrosMark Brown
Although we've had macros defining double _RANGE controls for a while now they've not actually been backed up properly by the implementation, it's treated everything as mono. Fix that by implementing the handling in the stereo controls, ensuring that the mono controls don't mistakenly get treated as stereo. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
2012-12-20ASoC: sta529: Fix update register bits in sta529_set_dai_fmtAxel Lin
Both the mask and mode settings are wrong in current code. According to the datasheet: S2PCFG0 (0x0A) BIT[3:1] DATA_FORMAT serial interface protocol format: 000: left Justified 001: I2S (default) 010: right justified 100: PCM no delay 101: PCM delay 111: DSP Thus fixes the defines for LEFT_J_DATA_FORMAT, I2S_DATA_FORMAT, and RIGHT_J_DATA_FORMAT. Also adds define for DATA_FORMAT_MSK. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Rajeev Kumar <rajeev-dlh.kumar@st.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-12-20ASoC: pcm: allow backend hardware to be freed in pause statePatrick Lai
When front-end PCM session is in paused state, back-end PCM session will be put in paused state as well if given front-end PCM session is the only client of given back-end. Then, application closes front-end PCM session, DPCM framework will not allow back-end enters HW_FREE state so back-end will never get shutdown completely. Signed-off-by: Patrick Lai <plai@codeaurora.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
2012-12-20Merge tag 'sound-3.8' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "This update contains overall only driver-specific fixes. Slightly large LOC are seen in usb-audio driver for a couple of new device quirks and cs42l71 ASoC driver for enhanced features. The others are a few small (regression) fixes HD-audio, and yet other small / trival ASoC fixes." * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: usb-audio: Support for Digidesign Mbox 2 USB sound card: ALSA: HDA: Fix sound resume hang ALSA: hda - bug fix for invalid connection list of Haswell HDMI codec pins ALSA: hda - Fix the wrong pincaps set in ALC861VD dallas/hp fixup ALSA: hda - Set codec->single_adc_amp flag for Realtek codecs ASoC: atmel-ssc: change disable to disable in dts node ASoC: Prevent pop_wait overwrite ALSA: usb-audio: ignore-quirk for HP Wireless Audio ALSA: hda - Always turn on pins for HDMI/DP ALSA: hda - Fix pin configuration of HP Pavilion dv7 ASoC: core: Fix splitting of log messages ASoC: cs42l73: Change VSPIN/VSPOUT to VSPINOUT ASoC: cs42l73: Add DAPM events for power down. ASoC: cs42l73: Add DMIC's as DAPM inputs. ASoC: sigmadsp: Fix endianness conversion issue ASoC: tpa6130a2: Use devm_* APIs
2012-12-15Merge remote-tracking branch 'asoc/topic/tpa6130a2' into asoc-nextMark Brown
2012-12-15Merge remote-tracking branch 'asoc/topic/log' into asoc-nextMark Brown
2012-12-15Merge remote-tracking branch 'asoc/topic/cs42l73' into asoc-nextMark Brown
2012-12-15Merge remote-tracking branch 'asoc/topic/core' into asoc-nextMark Brown
2012-12-15Merge remote-tracking branch 'asoc/fix/sigmadsp' into asoc-nextMark Brown
2012-12-15ASoC: Prevent pop_wait overwriteMisael Lopez Cruz
pop_wait is used to determine if a deferred playback close needs to be cancelled when the a PCM is open or if after the power-down delay expires it needs to run. pop_wait is associated with the CODEC DAI, so the CODEC DAI must be unique. This holds true for most CODECs, except for the dummy CODEC and its DAI. In DAI links with non-unique dummy CODECs (e.g. front-ends), pop_wait can be overwritten by another DAI link using also a dummy CODEC. Failure to cancel a deferred close can cause mute due to the DAPM STOP event sent in the deferred work. One scenario where pop_wait is overwritten and causing mute is below (where hw:0,0 and hw:0,1 are two front-ends with default pmdown_time = 5 secs): aplay /dev/urandom -D hw:0,0 -c 2 -r 48000 -f S16_LE -d 1 sleep 1 aplay /dev/urandom -D hw:0,1 -c 2 -r 48000 -f S16_LE -d 3 & aplay /dev/urandom -D hw:0,0 -c 2 -r 48000 -f S16_LE Since CODECs may not be unique, pop_wait is moved to the PCM runtime structure. Creating separate dummy CODECs for each DAI link can also solve the problem, but at this point it's only pop_wait variable in the CODEC DAI that has negative effects by not being unique. Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>