summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ASoC: core - Add API call to register platform kcontrols.Liam Girdwood2011-07-052-0/+32
| | | | | | | | | In preparation for Dynamic PCM (AKA DSP) support. Allow platform drivers to register kcontrols. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* ASoC: Manage WM8731 ACTIVE bit as a supply widgetMark Brown2011-07-051-26/+3
| | | | | | | | | Now we have supply widgets there's no need to open code the handling of the ACTIVE bit. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Tested-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Liam Girdwood <lrg@ti.com>
* ASoC: core - Add platform read and write.Liam Girdwood2011-07-042-0/+38
| | | | | | | | | In preparation for ASoC Dynamic PCM (AKA DSP) support. Allow platform driver to perform IO. Intended for platform DAPM. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge branch 'for-3.0' into for-3.1Mark Brown2011-07-042-0/+8
|\
| * ASoC: Ensure we delay long enough for WM8994 FLL to lock when startingMark Brown2011-07-041-0/+2
| | | | | | | | | | | | | | | | This delay is very conservative. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
| * ASoC: Tegra: I2S: Ensure clock is enabled when writing regsStephen Warren2011-07-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The I2S controller needs a clock to respond to register writes. Without this, register writes will at worst hang the CPU. In practice, I've only observed writes being dropped. Luckily, the dropped register writes historically had no effect: TEGRA_I2S_TIMING: The value we wrote was the reset default. TEGRA_I2S_FIFO_SCR: The default was for the FIFOs to request more data when one slot was empty. The requested value was for the FIFOs to request when four slots were empty. The DMA controller in the mainline kernel is configured to burst a single entry at a time into the FIFO, hence there was no issue. The only negative effect was on bus efficiency losses due to an increased number of arbitration attempts. However, in various non-upstream changes, the DMA controller now bursts four entries at a time into the FIFO. If there is only space for one entry, the data is simply dropped. In practice, this resulted in 3/4 of samples being dropped, and playback at 4x the expected rate and pitch. By fixing the clocking issue, this is solved. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Tegra: I2S: s/clk_get_sys/clk_get/Stephen Warren2011-07-041-3/+1
| | | | | | | | | | | | | | | | | | The clock needed by the I2S driver is associated with the I2S device name in the standard fashion. Hence, use clk_get(dev) instead of clk_get_sys(clk_name). Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: core - Make platform probe more like codec probe.Liam Girdwood2011-07-021-15/+36
| | | | | | | | | | | | | | | | | | | | In preparation for ASoC dynamic PCM support (AKA ASoC DSP) Platform will also support DAPM so separate out the probe function to simplify the code (just like the codec probe). Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Improve error reporting in Speyside WM8962 driverMark Brown2011-06-301-4/+8
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | Merge branch 'for-3.0' into for-3.1Mark Brown2011-06-291-2/+11
|\ \ | |/
| * ASoC: Fix Blackfin I2S _pointer() implementation return in bounds valuesMark Brown2011-06-291-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | The Blackfin DMA controller can report one frame beyond the end of the buffer in the wraparound case but ALSA requires that the pointer always be in the buffer. Do the wraparound to handle this. A similar bug is likely to apply to the other Blackfin PCM drivers but the code is less obvious to inspection and I don't have a user to test. Reported-by: Kieran O'Leary <Kieran.O'Leary@wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | ASoC: Change WM9081 speaker output enable to _OUT_DRVMark Brown2011-06-291-1/+1
| | | | | | | | | | | | | | More for neatness than any actual performance improvement. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Correct left/right swap in wm_hubs DC offset correctionMark Brown2011-06-291-8/+8
| | | | | | | | | | | | | | | | It was consistently wrong for everything except WM8993 so should be no functional change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.comm>
* | ASoC: Blackfin: Add machine driver for EVAL-ADAV80X boardsLars-Peter Clausen2011-06-283-0/+188
| | | | | | | | | | | | | | | | | | | | Add a machine driver to support the EVAL-ADAV801 and EVAL-ADAV803 boards connected to a Analog Devices BF5XX evaluation board. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add ADAV80x codec driverLars-Peter Clausen2011-06-285-0/+993
| | | | | | | | | | | | | | | | This patch adds support for the Analog Devices ADAV801 and ADAV803 audio codec. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: SAMSUNG: Add idma related register definitionSangbeom Kim2011-06-261-0/+20
| | | | | | | | | | | | | | | | | | This patch add idma related register definitions to support idma. Signed-off-by: Sangbeom Kim <sbkim73@samsung.com> Acked-by: Jassi Brar <jaswinder.singh@linaro.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: SAMSUNG: Move I2S common register definitionSangbeom Kim2011-06-262-103/+124
| | | | | | | | | | | | | | | | | | | | | | I2S registers can be used for control idma. Previously, register is defined in i2s.c. For sharing the registers, It is moved to i2s-regs.h Signed-off-by: Sangbeom Kim <sbkim73@samsung.com> Acked-by: Jassi Brar <jaswinder.singh@linaro.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: SAMSUNG: Add WM8994 PCM Machine driverSangbeom Kim2011-06-263-0/+186
| | | | | | | | | | | | | | | | | | | | | | | | This patch add WM8994 PCM machine driver to support PCM audio on SMDKV310, SMDKC210 boards. Playback and Capture supports 8kHz sampling rates. and It is tested on SMDKV310, SMDKC210. Signed-off-by: Sangbeom Kim <sbkim73@samsung.com> Acked-by: Jassi Brar <jaswinder.singh@linaro.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.0' into for-3.1Mark Brown2011-06-234-10/+5
|\ \ | |/
| * ASoC: pxa-ssp: Correct check for stream presenceDaniel Mack2011-06-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | Don't rely on the codec's channels_min information to decide wheter or not allocate a substream's DMA buffer. Rather check if the substream itself was allocated previously. Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * ASoC: imx: add missing module informationsArnaud Patard (Rtp)2011-06-232-1/+3
| | | | | | | | | | | | | | | | | | | | | | - add some modules aliases - add module license to avoid tainted kernel when loading the imx-pcm-audio driver Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: imx: Remove unused Kconfig SND_MXC_SOC_SSI entryArnaud Patard (Rtp)2011-06-231-7/+0
| | | | | | | | | | | | | | | | | | SND_MXC_SOC_SSI looks to be unused, so kill it. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add basic WM8918 supportMark Brown2011-06-231-0/+1
| | | | | | | | | | | | | | | | | | The WM8918 is register compatible with the WM8904 with a subset of the functionality. Add the device ID, a subsequent patch will ensure that only the relevant functionality is exported to userspace. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Allow suppression of series updates on wm_hubs devicesMark Brown2011-06-232-1/+2
| | | | | | | | | | | | | | Some devices do not support manual updates of the DC servo. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Trigger wm_hubs series update startup off a separate flagMark Brown2011-06-234-2/+4
| | | | | | | | | | | | | | Allowing the two to be used independently. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: add WM8782 ADC Codec DriverJohannes Stezenbach2011-06-223-0/+86
| | | | | | | | | | | | | | | | Signed-off-by: Johannes Stezenbach <js@sig21.net> [zonque@gmail.com: transform to new ASoC structure] Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: add STA32X codec driverJohannes Stezenbach2011-06-224-0/+993
| | | | | | | | | | | | | | | | Signed-off-by: Johannes Stezenbach <js@sig21.net> [zonque@gmail.com: transform to new ASoC structure] Signed-off-by: Daniel Mack <zonque@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: codecs: Max98095: Fix logging of hardware revision.Taylor Hutt2011-06-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The base hardware revision of the Maxim 98095 part is 0x40; the code which outputs the revision of the hardware has been updated to properly use uppercase alphabetic values for the revision numbers. Also, the use of a constant for the length 'max98095_dai' has been replaced with ARRAY_SIZE(). Signed-off-by: Taylor Hutt <thutt@chromium.org> Acked-by: Peter Hsiang <peter.hsiang@maxim-ic.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: adau1701: signedness bug in adau1701_write()Dan Carpenter2011-06-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | "ret" is supposed to be signed here. The current code will only return -EIO on error, instead of a more appropriate error code such as -EAGAIN etc. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix DAPM sequence run for per-widget I/O methodsMark Brown2011-06-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously we were using the DAPM context rather than a widget as the argument for update_bits() so we didn't need to care that our list walk of widgets left us one beyond the end of the list. Now we're using them for the register update we need to make sure we're pointing at an actual widget not the list_head. Fix originally suggested by Liam on IM. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Remove adau1701 from SND_SOC_ALL_CODECS due to Sigma dependencyMark Brown2011-06-181-1/+0
| | | | | | | | | | | | | | | | | | The Sigma code is in drivers/firmware which is only included on a very small subset of architectures and so ends up breaking the build on others. There's a pending patch to make the directory build as standard but it's not merged yet. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add adau* drivers to the Analog Devices file patternsMark Brown2011-06-181-0/+1
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* | ASoC: Blackfin: allow SPI for SSM2602 partsMike Frysinger2011-06-171-2/+1
| | | | | | | | | | | | | | | | | | This board has hardware switches for selecting SPI or I2C, so don't require I2C for this driver. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AD1836: rename suspend/resume funcsBarry Song2011-06-161-22/+21
| | | | | | | | | | | | | | | | | | | | | | Use less specific names for suspend/resume to match the probe/remove funcs where these are now used. Signed-off-by: Barry Song <barry.song@analog.com> Signed-off-by: Scott Jiang <scott.jiang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AD1836: fix codec nameMike Frysinger2011-06-161-1/+1
| | | | | | | | | | | | | | | | | | The codec name should not have a "-codec" suffix since this is not part of a MFD. This was incorrectly changed during the multi-component updated. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AD1836: fix intermixed tab/space indentationMike Frysinger2011-06-162-4/+4
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AD1836: drop unnecessary spi register checkMike Frysinger2011-06-161-9/+1
| | | | | | | | | | | | | | | | | | | | The only thing the init func does is register a spi driver, so if that fails, we return the value back up to the caller who will display an error message for us. So drop the redundant checking/message. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: AD1836: clean up comment headersMike Frysinger2011-06-162-27/+9
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Blackfin: Add bf5xx-adau1701 machine driverLars-Peter Clausen2011-06-163-0/+152
| | | | | | | | | | | | | | | | | | Add a machine driver to support the ADAU1701 SigmaDSP processors on Analog Devices BF5XX evaluation boards. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add ADAU1701 codec driverLars-Peter Clausen2011-06-164-1/+573
| | | | | | | | | | | | | | | | This patch adds support for the Analog Devices ADAU1701 SigmaDSP. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Clean up some coding style nits in the bf5xx-i2s-pcm driverMark Brown2011-06-161-3/+3
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: dapm - Refactor widget IO functions in preparation for platform widgets.Liam Girdwood2011-06-141-6/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This time with soc_widget_update_bits reflecting recent soc_update_bits changes. Currently widget IO is tightly coupled to the CODEC drivers. Future platform DSP devices have mixer components that can alter power usage and hence require full DAPM support. This provides a generic widget IO operation wrapper in preparation for future patches that implement platform driver DAPM. Signed-off-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Fix mismerge with release branchMark Brown2011-06-141-0/+1
| | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-3.0' into for-3.1Mark Brown2011-06-132-5/+1
|\ \ | |/ | | | | | | | | | | Trival fixup for move of I/O code into separate file. Conflicts: sound/soc/soc-cache.c
| * ASoC: Remove unused and about to be broken SND_SOC_CUSTOM I/O busMark Brown2011-06-132-5/+1
| | | | | | | | | | | | | | This will be removed in -next so let's drop it from mainline as soon as we can in order to minimise surprises. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Don't use codec->control_data in bulk writeMark Brown2011-06-131-2/+2
| | | | | | | | | | | | | | | | | | In order to facilitate merging with the register map I/O replace the use of control_data for the bulk writes with direct lookup of the client data from the device. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Add weak routes for sidetone style pathsMark Brown2011-06-132-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally DAPM will power up any connected audio path. This is not ideal for sidetone paths as with sidetone paths the audio path is not wanted in itself, it is only desired if the two paths it provides a sidetone between are both active. If the sidetone path causes a power up then it can be hard to minimise pops as we first power up either the sidetone or the main output path and then power the other, with the second power up potentially introducing a DC offset. Address this by introducing the concept of a weak path. If a path is marked as weak then DAPM will ignore that path when walking the graph, though all the relevant controls are still available to the application layer to allow these paths to be configured. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Move register I/O code into a separate fileMark Brown2011-06-133-381/+401
| | | | | | | | | | | | | | | | | | For clarity and to help ongoing refactoring in this area create a new file to contain the physical I/O functions, separating them out from the cache operations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: Factor out redundant read() functionsMark Brown2011-06-131-44/+8
| | | | | | | | | | | | | | | | | | We've got a whole bunch of functions which just call straight through to do_hw_read(). Simplify this situation by removing them and using hw_read() directly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
* | ASoC: SMDKV310: Enable SPDIF deviceNaveen Krishna Chatradhi2011-06-101-1/+1
| | | | | | | | | | | | | | Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Acked-by: Jassi Brar <jassisinghbrar@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
OpenPOWER on IntegriCloud