aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-05Merge branch 'for-3.1' of ↵Takashi Iwai7-15/+361
git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc
2011-07-05Merge branch 'for-3.0' of ↵Takashi Iwai2-4/+19
git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into fix/asoc
2011-07-04ASoC: core - Add platform read and write.Liam Girdwood2-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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-07-04ASoC: tlv320aic3x: Add correct hw registers to Line1 cross connect muxesJarkko Nikula1-13/+21
Commit af46800 ("ASoC: Implement mux control sharing") revealed that "Left Line1[L | R] Mux" and "Right Line1[L | R] Mux" widgets were pointing to the same kcontrols and codec registers and thus soc-core falsely detected them as shared controls. This is actually wrong since there are separate registers in hardware that configure Line1L to RADC and Line1R to LADC cross connects so these muxes should not be shared. Signed-off-by: Jarkko Nikula <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Liam Girdwood <[email protected]>
2011-07-04Merge branch 'for-3.0' into for-3.1Mark Brown2-0/+8
2011-07-04ASoC: Ensure we delay long enough for WM8994 FLL to lock when startingMark Brown1-0/+2
This delay is very conservative. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]> Cc: [email protected]
2011-07-04ASoC: Tegra: I2S: s/clk_get_sys/clk_get/Stephen Warren1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-07-04ASoC: Tegra: I2S: Ensure clock is enabled when writing regsStephen Warren1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-07-02ASoC: core - Make platform probe more like codec probe.Liam Girdwood1-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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-30ASoC: Improve error reporting in Speyside WM8962 driverMark Brown1-4/+8
Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-29Merge branch 'for-3.0' into for-3.1Mark Brown1-2/+11
2011-06-29ASoC: Change WM9081 speaker output enable to _OUT_DRVMark Brown1-1/+1
More for neatness than any actual performance improvement. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-29ASoC: Correct left/right swap in wm_hubs DC offset correctionMark Brown1-8/+8
It was consistently wrong for everything except WM8993 so should be no functional change. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-29ASoC: Fix Blackfin I2S _pointer() implementation return in bounds valuesMark Brown1-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'[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2011-06-28ASoC: Blackfin: Add machine driver for EVAL-ADAV80X boardsLars-Peter Clausen3-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 <[email protected]> Acked-by: Mike Frysinger <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-28ASoC: Add ADAV80x codec driverLars-Peter Clausen5-0/+993
This patch adds support for the Analog Devices ADAV801 and ADAV803 audio codec. Signed-off-by: Lars-Peter Clausen <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-26ASoC: SAMSUNG: Add idma related register definitionSangbeom Kim1-0/+20
This patch add idma related register definitions to support idma. Signed-off-by: Sangbeom Kim <[email protected]> Acked-by: Jassi Brar <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-26ASoC: SAMSUNG: Move I2S common register definitionSangbeom Kim2-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 <[email protected]> Acked-by: Jassi Brar <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-26ASoC: SAMSUNG: Add WM8994 PCM Machine driverSangbeom Kim3-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 <[email protected]> Acked-by: Jassi Brar <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-23Merge branch 'for-3.0' into for-3.1Mark Brown4-10/+5
2011-06-23ASoC: pxa-ssp: Correct check for stream presenceDaniel Mack1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2011-06-23ASoC: imx: add missing module informationsArnaud Patard (Rtp)2-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 <[email protected]> Acked-by: Sascha Hauer <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-23ASoC: imx: Remove unused Kconfig SND_MXC_SOC_SSI entryArnaud Patard (Rtp)1-7/+0
SND_MXC_SOC_SSI looks to be unused, so kill it. Signed-off-by: Arnaud Patard <[email protected]> Acked-by: Sascha Hauer <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-23ASoC: Add basic WM8918 supportMark Brown1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-23ASoC: Allow suppression of series updates on wm_hubs devicesMark Brown2-1/+2
Some devices do not support manual updates of the DC servo. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-23ASoC: Trigger wm_hubs series update startup off a separate flagMark Brown4-2/+4
Allowing the two to be used independently. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-22ASoC: add WM8782 ADC Codec DriverJohannes Stezenbach3-0/+86
Signed-off-by: Johannes Stezenbach <[email protected]> [[email protected]: transform to new ASoC structure] Signed-off-by: Daniel Mack <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-22ASoC: add STA32X codec driverJohannes Stezenbach4-0/+993
Signed-off-by: Johannes Stezenbach <[email protected]> [[email protected]: transform to new ASoC structure] Signed-off-by: Daniel Mack <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-22ASoC: codecs: Max98095: Fix logging of hardware revision.Taylor Hutt1-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 <[email protected]> Acked-by: Peter Hsiang <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-20ASoC: adau1701: signedness bug in adau1701_write()Dan Carpenter1-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 <[email protected]> Acked-by: Lars-Peter Clausen <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-20ASoC: Fix DAPM sequence run for per-widget I/O methodsMark Brown1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-18ASoC: Remove adau1701 from SND_SOC_ALL_CODECS due to Sigma dependencyMark Brown1-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 <[email protected]>
2011-06-18ASoC: Add adau* drivers to the Analog Devices file patternsMark Brown1-0/+1
Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]> Acked-by: Mike Frysinger <[email protected]>
2011-06-17ASoC: Blackfin: allow SPI for SSM2602 partsMike Frysinger1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-16ASoC: AD1836: rename suspend/resume funcsBarry Song1-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 <[email protected]> Signed-off-by: Scott Jiang <[email protected]> Signed-off-by: Mike Frysinger <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-16ASoC: AD1836: fix codec nameMike Frysinger1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-16ASoC: AD1836: fix intermixed tab/space indentationMike Frysinger2-4/+4
Signed-off-by: Mike Frysinger <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-16ASoC: AD1836: drop unnecessary spi register checkMike Frysinger1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-16ASoC: AD1836: clean up comment headersMike Frysinger2-27/+9
Signed-off-by: Mike Frysinger <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-16ASoC: Blackfin: Add bf5xx-adau1701 machine driverLars-Peter Clausen3-0/+152
Add a machine driver to support the ADAU1701 SigmaDSP processors on Analog Devices BF5XX evaluation boards. Signed-off-by: Lars-Peter Clausen <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-16ASoC: Add ADAU1701 codec driverLars-Peter Clausen4-1/+573
This patch adds support for the Analog Devices ADAU1701 SigmaDSP. Signed-off-by: Lars-Peter Clausen <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-16ASoC: Clean up some coding style nits in the bf5xx-i2s-pcm driverMark Brown1-3/+3
Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-14ASoC: dapm - Refactor widget IO functions in preparation for platform widgets.Liam Girdwood1-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 <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2011-06-14ASoC: Fix mismerge with release branchMark Brown1-0/+1
Signed-off-by: Mark Brown <[email protected]>
2011-06-13Merge branch 'for-3.0' into for-3.1Mark Brown2-5/+1
Trival fixup for move of I/O code into separate file. Conflicts: sound/soc/soc-cache.c
2011-06-13ASoC: Remove unused and about to be broken SND_SOC_CUSTOM I/O busMark Brown2-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 <[email protected]>
2011-06-13ASoC: Don't use codec->control_data in bulk writeMark Brown1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-13ASoC: Add weak routes for sidetone style pathsMark Brown2-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-13ASoC: Move register I/O code into a separate fileMark Brown3-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]>
2011-06-13ASoC: Factor out redundant read() functionsMark Brown1-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 <[email protected]> Acked-by: Liam Girdwood <[email protected]>