summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'asoc/topic/mc13783' into asoc-nextMark Brown2013-10-244-61/+91
|\
| * ASoC: mc13783: add more DAPM routesSteffen Trumtrar2013-10-111-6/+52
| | | | | | | | | | | | | | Add more infrastructure (i.e. routes, muxes, switches) to the mc13783 DAPM. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * ASoC: mc13783: add mixer controlsSteffen Trumtrar2013-10-111-0/+18
| | | | | | | | | | | | | | Add more controls to the alsa mixer infrastructure. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * ASoC: mc13783: Use regmap directly from ASoCMark Brown2013-09-251-46/+9
| | | | | | | | | | | | | | | | As part of a push to remove the register I/O functionality from ASoC (since it is now duplicated in the regmap API) convert the mc13783 driver to use regmap directly. Signed-off-by: Mark Brown <broonie@linaro.org>
| * mfd: mc13xxx: Move SPI erratum workaround into SPI I/O functionMark Brown2013-09-253-4/+12
| | | | | | | | | | | | | | | | | | Move the workaround for double sending AUDIO_CODEC and AUDIO_DAC writes into the SPI core, aiding refactoring to eliminate the ASoC custom I/O functions and avoiding the extra writes for I2C. Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
| * mfd: mc13xxx: Don't require lock for simple register I/OMark Brown2013-09-251-5/+0
| | | | | | | | | | | | | | | | Since the conversion to regmap there has been no need for device level locking for I/O as regmap provides locking so remove the locks. Signed-off-by: Mark Brown <broonie@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
* | Merge remote-tracking branch 'asoc/topic/max9850' into asoc-nextMark Brown2013-10-241-10/+29
|\ \
| * | ASoC: max9850: Convert to direct regmap API usageMark Brown2013-09-241-10/+29
| | | | | | | | | | | | | | | | | | | | | This prepares for removal of the duplicated register I/O functionality in ASoC. Signed-off-by: Mark Brown <broonie@linaro.org>
* | | Merge remote-tracking branch 'asoc/topic/max98095' into asoc-nextMark Brown2013-10-241-296/+170
|\ \ \
| * | | ASoC: max98095: Convert to direct regmap API usageMark Brown2013-09-241-268/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Saves code and moves us towards being able to remove the duplicate ASoC level register I/O functionality. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: max90895: Convert to table based control initMark Brown2013-09-241-10/+2
| | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: max98095: Remove custom hw_write() implementationMark Brown2013-09-241-21/+4
| |/ / | | | | | | | | | | | | | | | | | | The registers that are being kept uncached are marked as volatile anyway so the call has no practical impact. Signed-off-by: Mark Brown <broonie@linaro.org>
* | | Merge remote-tracking branch 'asoc/topic/max98088' into asoc-nextMark Brown2013-10-241-351/+273
|\ \ \
| * | | ASoC: max98088: Set max_registerMark Brown2013-09-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Makes some of the debug functions more useful. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: max98088: Convert to direct regmap API usageMark Brown2013-09-241-329/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This saves code and moves us towards removing the redundant register I/O implementation in ASoC. Tested-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: max98088: Use table based control initMark Brown2013-09-241-3/+2
| | | | | | | | | | | | | | | | | | | | Tested-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: max98088: Fix indentationMark Brown2013-09-241-23/+23
| |/ / | | | | | | | | | | | | Tested-by: Dylan Reid <dgreid@chromium.org> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-nextMark Brown2013-10-245-27/+93
|\ \ \
| * | | ASoC: kirkwood: add S/PDIF supportJean-Francois Moine2013-10-223-19/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds S/PDIF input/output for mvebu DT boards. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: kirkwood: prefer external clock over internal clockJean-Francois Moine2013-10-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there is an external clock, always use this one. This prevents the two Dove audio devices to use the same DCO clock at different rates. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: kirkwood: fix compilation warning in kirkwood_dma_openVladimir Murzin2013-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | writel() supposes the first argument of type unsigned int. This fix the warning: sound/soc/kirkwood/kirkwood-dma.c: In function 'kirkwood_dma_open': sound/soc/kirkwood/kirkwood-dma.c:164:3: warning: large integer implicitly truncated to unsigned type [-Woverflow] Signed-off-by: Vladimir Murzin <murzin.v@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoc: kirkwood: Extend the min and max number of bytes per periodJean-Francois Moine2013-09-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch extends the min and max number of bytes per period. It mainly permits to reduce the sound delay in MIDI real-time playing. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: kirkwood: fix loss of external clock at probe timeJean-Francois Moine2013-09-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At probe time, when the clock driver is not yet initialized, the external clock of the kirkwood sound device will not be usable. This patch fixes this problem defering the device probe. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: kirkwood-dma: remove IEC958_SUBFRAME formatsRussell King2013-09-171-3/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Audio block does not support IEC958 subframes as formatted by ALSA: they're very close, but not close enough. The formats differ by: 3 2 2 2 1 1 1 8 4 0 6 2 8 4 0 PCUVDDDDDDDDDDDDDDDD....AAAATTTT - IEC958 subframe PCUV0000........DDDDDDDDDDDDDDDD - Audio block format Where P = parity, C = channel status, U = user data, V = validity, D = sample data, A = aux, T = preamble. As can be seen, the position of the sample is in a different position, and the audio block does not have the aux or preamble bits. 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/fsl' into asoc-nextMark Brown2013-10-247-24/+17
|\ \ \
| * | | ASoC: fsl: Add missing pm to current machine driversNicolin Chen2013-10-243-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing pm to current machine drivers so that all of them would correctly do suspend/resume. Signed-off-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: fsl: remove leftover release_mem_regionWolfram Sang2013-10-141-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When converting this driver to devm_ioremap_resource, the removal of this now unneeded function has been forgotten. Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: fsl: Fix memory leak in imx-audmux.cFelipe Pena2013-10-141-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When audmux_clk is used and clk_prepare_enable function succeed, the memory alloc'd to buf variable is leaked Signed-off-by: Felipe Pena <felipensp@gmail.com> Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | Merge remote-tracking branch 'asoc/fix/fsl' into asoc-fslMark Brown2013-10-03463-2273/+4061
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: sound/soc/fsl/fsl_ssi.c
| * | | | ASoC: fsl_ssi: let check zero instead of check NO_IRQChen Gang2013-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NO_IRQ may be defined as '(unsigned int) -1' in some architectures (arm, sh ...), and either may not be defined in some architectures which can enable SND_SOC_FSL_SSI (e.g. allmodconfig for arc). When irq_of_parse_and_map() fails, it will always return 0, so need check zero instead of NO_IRQ, or will cause compiling issue or run time bug in some architectures. Signed-off-by: Chen Gang <gang.chen@asianux.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | ASoC: fsl: fsl_ssi: Fix simultaneous capture and playbackFabio Estevam2013-09-241-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When doing simultaneous capture and playback on a mx6 board we get the following error: $ arecord -f cd | aplay -f cd imx-sgtl5000 sound.13: set sample size in capture stream first fsl-ssi-dai 2028000.ssi: ASoC: can't open interface 2028000.ssi: -11 ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_ open) unable to open slave aplay: main:660: audio open error: Device or resource busy Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo The 'arecord -f cd | aplay -f cd' always trigger cause the 'if (!first_runtime->sample_bits)' block to be true which returns an error. Adjust the logic inside fsl_ssi_startup(), so that we do not always hit the error when playing 'arecord | aplay' line for the first time. Reported-by: Chris Clepper <cgclepper@gmail.com> Suggested-by: Nicolin Chen <b42378@freescale.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | ASoC: fsl_ssi: Remove redundant dev_set_drvdataSachin Kamat2013-09-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Driver core sets the driver data to NULL on detach. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | ASoC: fsl_spdif: Remove redundant semicolonSachin Kamat2013-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Redundant semicolon at the end of brace is removed. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | ASoC: fsl_ssi: Staticize local symbolsSachin Kamat2013-09-171-2/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Local symbols used only in this file are made static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | Merge remote-tracking branch 'asoc/topic/ep93xx' into asoc-nextMark Brown2013-10-241-1/+1
|\ \ \ \
| * | | | ASoC: cirrus: Enable compile test buildsMark Brown2013-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The core support for ep93xx (currently only the DMA driver) does not depend on the architecture at all and everything else has more strict dependencies so enable compile test builds for improved build coverage. Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | Merge remote-tracking branch 'asoc/topic/doc' into asoc-nextMark Brown2013-10-245-66/+456
|\ \ \ \ \
| * | | | | ASoC: Docs: Add documentation for Dynamic PCMLiam Girdwood2013-09-231-0/+380
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add documentation describing DPCM with examples of a DSP based smart phone. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: Docs: Machine updateLiam Girdwood2013-09-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the machine driver documentation and bring it up to date with the current code base. This includes multi component. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: Docs: update DAPMLiam Girdwood2013-09-231-30/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the DAPM documentation and bring it up to date with the current code base. This includes API changes and new widgets. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: Docs: Platform updateLiam Girdwood2013-09-231-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the platform class driver documentation and bring it up to date with the current code base. This includes multi component and DSP. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: Docs: Update codec documentationLiam Girdwood2013-09-231-31/+15
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the codec class driver documentation and bring it up to date with the current code base. This includes API changes, regmap and multi component. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | Merge remote-tracking branch 'asoc/topic/dma' into asoc-nextMark Brown2013-10-247-28/+115
|\ \ \ \ \
| * | | | | ASoC: dmaengine: Use filter_data rather than dma_data for compat requestsMark Brown2013-10-242-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the legacy filter function channel requests we currently pass the audio specific struct snd_dmaengine_dai_dma_data which isn't likely to be helpful for actual filtering. Since there's already a field in the structure called filter_data clearly intended for use here convert the driver to use that. All existing users of plain filter functions have been converted to use an explicit compat function to override this behaviour except i.MX which is working around this issue in its filter function and is updated to just use filter_data directly here. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
| * | | | | ASoC: dmaengine: Support custom channel namesMark Brown2013-10-242-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some devices have more than just simple TX and RX DMA channels, for example modern Samsung I2S IPs support a secondary transmit DMA stream which is mixed into the primary stream during playback. Allow such devices to specify the names of the channels to be requested in their dma_data. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
| * | | | | ASoC: tegra: Remove redundant initialisation of compat_filter_fnMark Brown2013-10-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting a field in a static struct to NULL has no effect so don't bother (and don't generate false positives for grep). Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Stephen Warren <swarren@nvidia.com>
| * | | | | ASoC: ep93xx: Open code dma channel requestMark Brown2013-10-231-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the ep93xx DMA code is one of the few users relying on the fact that the compat code uses the dma_data as the filter data for non-DT channel requests. Since the rest of the core expects this to be a struct snd_dmaengine_dai_data this isn't terribly helpful this will be changed to use the already existing filter data so avoid breaking ep93xx by open coding the current behaviour. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lars-Peter Clausen <lars@metafoo.de>
| * | | | | ASoC: samsung: Initialise DMA data at device probe timeMark Brown2013-10-201-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minor simplification and will help with converting the platform to use the dmaengine helpers. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: dai: Provide interface for setting DMA data at probe timeMark Brown2013-10-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow DMA data to be set at probe time for devices that can do that, avoiding the need to do it every time we start a stream and supporting non-DT dmaengine users using the helpers. Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: dmaengine-pcm: Provide default configLars-Peter Clausen2013-10-191-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds some default settings for the generic dmaengine PCM driver for the case that no config has been supplied. The following defaults are used: * Use snd_dmaengine_pcm_prepare_slave_config for preparing the DMA slave config. * 512kB for the prealloc buffer size. This value has been chosen based on 'feels about right' and is not backed up by any scientific facts. We may need to come up with something smarter in the future but it should work fine for now. With this infrastructure in place we can finally write DAI drivers which are independent of the DMA controller they are connected to. This is e.g. useful if the DAI IP core is reused across different SoCs, but the SoCs uses different DMA controllers. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
OpenPOWER on IntegriCloud