summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'asoc/topic/core' into asoc-nextMark Brown2013-02-114-19/+15
|\
| * ASoC: core: Ensure SND_SOC_BYTES writes are from DMA safe memoryMark Brown2013-01-211-7/+5
| | | | | | | | | | | | With some buses the transfers may DMAed, especially for larger blocks. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: SND_SOC_DAIFMT_NB_NF become 0 as default settingsKuninori Morimoto2013-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | Current soc-dai.h defines SND_SOC_DAIFMT_NB_NF as (1 << 8), but normal bit clock / normal frame should be default settings (= 0). This patch fixup SND_SOC_DAIFMT_NB_NF as (0 << 8). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Constify ops and compr_ops fields of snd_soc_dai_linkLars-Peter Clausen2013-01-131-2/+2
| | | | | | | | | | | | | | | | The core does not modify these fields, so they can be made const. This allows drivers to declare their op tables as const. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: pcm: delete some dead codeDan Carpenter2013-01-121-9/+3
| | | | | | | | | | | | | | I've removed several unreachable returns. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: core: giving WARN when device starting from non-off bias with ↵Chuansheng Liu2012-12-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | idle_bias_off Just found some cases that some codec drivers set the bias to _STANDBY and set idle_bias_off to 1 during probing. It will cause unpaired runtime_get_sync/put() issue. Also as Mark suggested, there is no reason to start from _STANDBY bias with idle_bias_off == 1. So here giving one warning when detected (dapm.idle_bias_off == 1) and (dapm.bias_level != SND_SOC_BIAS_OFF) just after driver->probe(). Signed-off-by: liu chuansheng <chuansheng.liu@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge remote-tracking branch 'asoc/topic/compress' into asoc-nextMark Brown2013-02-115-21/+131
|\ \
| * | ASoC: core: Allow digital mute for captureMark Brown2013-02-085-19/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Help avoid noise from the power up of the capture path propagating through into the start of the recording (especially noise caused by the ramp of microphone biases) by keeping the capture muted until after we've finished powering things up with DAPM in the same manner we do for playback. This allows us to take advantage of soft mute support in the hardware more effectively and is more consistent. The core code using the existing digital mute operation is updated to take advantage of this. Some additional cases in the soc-pcm code and suspend will need separate handling but these are less practically relevant than the main runtime stream start/stop case. Rather than refactor the digital mute function in every single driver a new operation is added for drivers taking advantage of this functionality, the old operation should be phased out over time. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by Vinod Koul <vinod.koul@intel.com> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
| * | ASoC: compress: Only mute playback streamsMark Brown2013-02-071-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise capture activity on a compressed DAI would mute any playback on the same DAI. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
| * | ASoC: soc-compress: Add support for not memory mapped DSPsCharles Keepax2013-02-051-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ASoC compressed API did not implement the copy callback in its compressed ops which is required for DSPs that are not memory mapped. This patch creates a local copy of the compress ops for each runtime and modifies them with a copy callback as appropriate. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: soc-compress: Initialise delayed work to power down audioCharles Keepax2013-01-241-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delayed work was scheduled but not initialised, this patch adds the actual work and initialises it. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Tested-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: soc-compress: Serialise compressed opsCharles Keepax2013-01-241-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the pcm_mutex to serialise the compressed ops. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Tested-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: soc-compress: Add missing brackets around elseCharles Keepax2013-01-241-1/+2
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Tested-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge remote-tracking branch 'asoc/topic/atmel' into asoc-nextMark Brown2013-02-118-26/+16
|\ \ \
| * | | ASoC: sam9g20_wm8731: disable clock and correct sequence when unloadBo Shen2013-02-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | disable clock and correct sequence when unload Signed-off-by: Bo Shen <voice.shen@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: atmel_ssc_dai: correct sequence when unloadBo Shen2013-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | correct the sequence when unload this module Signed-off-by: Bo Shen <voice.shen@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: atmel_ssc_dai: remove error set private dataBo Shen2013-02-041-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ssc private data has been set in ssc driver, this cause the error private data set to ssc, remove it Signed-off-by: Bo Shen <voice.shen@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: atmel_pcm: make it buildable as moduleBo Shen2013-02-041-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When build as module, it reports following error, using this patch fix it sound/soc/atmel/atmel-pcm-pdc.c:387: error: redefinition of 'atmel_pcm_pdc_platform_register' sound/soc/atmel/atmel-pcm.h:95: note: previous definition of 'atmel_pcm_pdc_platform_register' was here sound/soc/atmel/atmel-pcm-pdc.c:393: error: redefinition of 'atmel_pcm_pdc_platform_unregister' sound/soc/atmel/atmel-pcm.h:99: note: previous definition of 'atmel_pcm_pdc_platform_unregister' was here Signed-off-by: Bo Shen <voice.shen@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: atmel-soc: make it buildable on other architecturesJoachim Eastwood2012-12-244-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not very useful on non AT91/AVR32 platforms but it provides more build coverage and prepares for ARM multiplatform. Also fixes a couple of format type warnings. Signed-off-by: Joachim Eastwood <manabian@gmail.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: atmel-ssc: make it buildable on other architecturesJoachim Eastwood2012-12-242-2/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not very useful on non AT91/AVR32 platforms but it provides more build coverage and prepares for ARM multiplatform. Also fixes a truncated warning that would come when building on a 64-bit arch. Signed-off-by: Joachim Eastwood <manabian@gmail.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown2013-02-115-114/+418
|\ \ \
| * | | ASoC: arizona: Allow number of channels clocked to be restrictedMark Brown2013-01-212-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Place a cap on the number of channels clocks are generated for. This is intended for use with systems which have the WM5102 master an I2S bus with multiple data lines. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: arizona: Support clearing clocksMark Brown2013-01-211-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some systems may wish to support switching between telephony and CD audio clock rates but this is restricted by enforcement of constraints on the current DAI clock. Support setting clocks to zero and don't enforce any constraints in that case in order to facilitate this use case. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | ASoC: wm5102: Add controls for firmware selectionMark Brown2013-01-181-0/+4
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizonaMark Brown2013-01-171-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: sound/soc/codecs/arizona.c
| * | | | ASoC: arizona: Don't request FLL lock IRQMark Brown2013-01-162-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only log the result and since the interrupt triggers on loss of lock during shutdown this may lead to spurious interrupts during shutdown delaying the process. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | Merge remote-tracking branch 'asoc/fix/arizona' into asoc-arizonaMark Brown2013-01-133-4/+5
| |\ \ \ \
| * \ \ \ \ Merge remote-tracking branch 'asoc/topic/adsp' into asoc-arizonaMark Brown2013-01-13202-1181/+2193
| |\ \ \ \ \
| * | | | | | ASoC: arizona: Factor out rate selection codeMark Brown2013-01-041-36/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation for more advanced sample rate managment move the existing code out of the main hw_params() function. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | Merge branch 'fix/arizona' of ↵Mark Brown2013-01-043-18/+57
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-arizona
| * | | | | | | ASoC: arizona: Allow runtime reconfiguration of the output modeMark Brown2013-01-042-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some systems use external analogue switches to connect more analogue devices to the CODEC than are supported by the device. In some systems this requires changing the switched output from single ended to differential mode dynamically at runtime. Add a new function arizona_set_output_mode() to support this. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | ASoC: wm5102: Implement routing and power management for ISRCsMark Brown2013-01-043-1/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | ASoC: arizona: Implement tristate supportMark Brown2012-12-241-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | ASoC: wm5110: Add noise gate controlMark Brown2012-12-241-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The references used for the noise gates and parameters for their triggering are configurable, expose that to users. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | ASoC: wm5102: Add noise gate controlMark Brown2012-12-241-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The references used for the noise gates and parameters for their triggering are configurable, expose that to users. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | ASoC: arizona: Add noise gate hold time enumerationMark Brown2012-12-242-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | ASoC: wm5110: Split input PGA controlsMark Brown2012-12-241-31/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Though the controls are named as stereo controls in the part the main use case for the analogue inputs to the WM5102 is mono. Reflect this in the controls exposed to userspace, providing a series of mono controls rather than stereo ones. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | ASoC: wm5102: Split input PGA controlsMark Brown2012-12-241-26/+38
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Though the controls are named as stereo controls in the part the main use case for the analogue inputs to the WM5102 is mono. Reflect this in the controls exposed to userspace, providing a series of mono controls rather than stereo ones. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | | | Merge remote-tracking branch 'asoc/topic/ak4642' into asoc-nextMark Brown2013-02-112-2/+48
|\ \ \ \ \ \ \
| * | | | | | | ASoC: ak4642: remove __devinitconst annotationStephen Rothwell2013-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_HOTPLUG is always true now and the __dev* macros have been removed. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | ASoC: ak4642: add Device Tree supportKuninori Morimoto2013-01-102-2/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for loading the ak4642 codec module via devicetree. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | | | | Merge remote-tracking branch 'asoc/topic/adsp' into asoc-nextMark Brown2013-02-117-82/+861
|\ \ \ \ \ \ \ \
| * | | | | | | | ASoC: wm_adsp: round to 4-byte boundary for coeff file blocksChris Rattray2013-02-111-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | | Merge tag 'async' of ↵Mark Brown2013-02-051-0/+1
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-adsp regmap: Add async I/O support Allow drivers to take advantage of any support the underlying transports may have for pipelining data.
| | * | | | | | | | regmap: Export regmap_async_complete()Mark Brown2013-02-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | | | ASoC: wm_adsp: Use asynchronous I/O to write firmware and coefficientsMark Brown2013-02-041-16/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the regmap API to use asynchronous I/O where supported to minimise the delay between transfers, reducing firmware download times. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | | | | | | | | Merge tag 'async' of ↵Mark Brown2013-02-044-47/+351
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-adsp regmap: Add async I/O support Allow drivers to take advantage of any support the underlying transports may have for pipelining data.
| | * | | | | | | | regmap: Export regmap_async_complete_cbAxel Lin2013-02-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes below build error when CONFIG_REGMAP=y && CONFIG_REGMAP_SPI=m ERROR: "regmap_async_complete_cb" [drivers/base/regmap/regmap-spi.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | | | | regmap: include linux/sched.h to fix buildStephen Warren2013-02-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes: drivers/base/regmap/regmap.c: In function 'regmap_async_complete_cb': drivers/base/regmap/regmap.c:1656:3: error: 'TASK_NORMAL' undeclared (first use in this function) drivers/base/regmap/regmap.c:1656:3: note: each undeclared identifier is reported only once for each function it appears in drivers/base/regmap/regmap.c: In function 'regmap_async_complete': drivers/base/regmap/regmap.c:1688:2: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in this function) drivers/base/regmap/regmap.c:1688:2: error: implicit declaration of function 'schedule' An alternative might be to adjust linux/wait.h to include linux/sched.h, but since that hasn't been done before, I assume we're consciously avoiding doing that. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * | | | | | | | regmap: spi: Support asynchronous I/O for SPIMark Brown2013-01-291-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>