summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs
AgeCommit message (Collapse)AuthorFilesLines
2013-11-08Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown2-9/+26
2013-11-08Merge remote-tracking branch 'asoc/topic/ak4642' into asoc-nextMark Brown1-2/+0
2013-11-08Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-nextMark Brown1-3/+8
2013-11-08Merge remote-tracking branch 'asoc/topic/adsp' into asoc-nextMark Brown1-7/+20
2013-11-08Merge remote-tracking branch 'asoc/topic/adav80x' into asoc-nextMark Brown1-45/+102
2013-11-08Merge remote-tracking branch 'asoc/topic/adau1373' into asoc-nextMark Brown1-61/+237
2013-11-08Merge remote-tracking branch 'asoc/topic/ab8500' into asoc-nextMark Brown1-47/+45
2013-11-08Merge remote-tracking branch 'asoc/topic/88pm860x' into asoc-nextMark Brown2-121/+71
2013-11-08Merge remote-tracking branch 'asoc/fix/ak4642' into asoc-linusMark Brown1-1/+1
2013-11-04ASoC: wm_adsp: Interpret ADSP memory region lengths as 32 bit wordsNariman Poushin1-0/+5
Pad the ADSP word (3 bytes) to 4 bytes in the kernel and calculate lengths based on padded ADSP words instead of treating them as bytes Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com> Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2013-11-01ASoC: wm_adsp: Print out the firmware versionDimitris Papastamos1-0/+1
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-11-01ASoC: wm_adsp: Remove and free algorithm regions for ADSP1Dimitris Papastamos1-0/+9
Do it in a similar fashion as we do for ADSP2. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-11-01ASoC: wm_adsp: Add debug info on get()/put() transfersDimitris Papastamos1-0/+2
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-11-01ASoC: wm_adsp: Release firmware on memory allocation failureDimitris Papastamos1-1/+2
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-11-01ASoC: wm_adsp: Print error when regmap reads/writes failDimitris Papastamos1-6/+6
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-10-31ASoC: ak4642: prevent un-necessary changes to SG_SL1Phil Edworthy1-1/+1
If you record the sound during playback, the playback sound becomes silent. Modify so that the codec driver does not clear SG_SL1::DACL bit which is controlled under widget Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2013-10-30ASoC: wm_hubs: Add missing break in hp_supply_event()Takashi Iwai1-0/+1
Spotted by coverity CID 115170. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2013-10-30ASoC: ab8500: Fix invalid cast to long pointerTakashi Iwai1-6/+6
Don't cast to long pointers blindly just for using find_first_bit() and co. This is certainly not portable at all. Reimplement the code with ffs() and fls() instead. This is a slight optimization, too. Spotted by coverity CID 1056484 and 1056485. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-10-30ASoC: ab8500: Add missing of NULL check of devm_kzalloc()Takashi Iwai1-0/+2
Spotted by coverity CID 712316. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-10-26ASoC: wm5110: Add missing routes for AEC LoopbackCharles Keepax1-0/+12
Reported-by: Nariman Poushin <nariman.poushin@wolfsonmicro.com> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-10-18Merge remote-tracking branch 'asoc/fix/tlv320aic3x' into asoc-linusMark Brown1-0/+4
2013-10-14ASoC: pcm1792a: Fix max_register settingAxel Lin1-1/+1
According to the datasheet, the max_register is register 23. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-10-14ASoC: pcm1681: Fix max_register settingAxel Lin1-1/+1
According to the datasheet, the max_register is 13h. ARRAY_SIZE(pcm1681_reg_defaults) + 1 is 18 which is wrong. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-10-07ASoC: tlv320aic3x: Connect 'Left Line1R Mux' and 'Right Line1L Mux'Peter Ujfalusi1-0/+4
The two paths were not connected in the DAPM route causing the associated routes to be non working and the following warnings printed in the logs: tlv320aic3x-codec 0-001b: ASoC: mux Right Line1L Mux has no paths tlv320aic3x-codec 0-001b: ASoC: mux Left Line1R Mux has no paths Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-27Merge remote-tracking branch 'asoc/fix/max98095' into asoc-linusMark Brown1-2/+2
2013-09-27Merge remote-tracking branch 'asoc/fix/ab8500' into asoc-linusMark Brown1-1/+6
2013-09-27Merge remote-tracking branch 'asoc/fix/88pm860x' into asoc-linusMark Brown1-0/+3
2013-09-27ASoC: adav80x: Convert to direct regmap usageLars-Peter Clausen1-45/+102
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-27ASoC: adau1373: Issue soft reset on probeLars-Peter Clausen1-0/+2
Reset the device on probe to make sure that the register settings match the register cache defaults. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-27ASoC: adau1373: Remove ADAU1373_PLL_CTRL7 register definitionLars-Peter Clausen1-1/+0
There is no such register. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-27ASoC: adau1373: Convert to direct regmap usageLars-Peter Clausen1-60/+235
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-24ASoC: ab8500: Explicitly set I/O upMark Brown1-0/+2
We do some I/O in probe so we need to ensure the I/O operations are fully set up then. Reported-by: Olof Johansson <olof@lixom.net> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-20ASoC: ab8500: Convert register I/O to regmapMark Brown1-34/+30
As part of a general push to eliminate the duplicated register I/O support in ASoC convert ab8500 to use regmap. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org>
2013-09-20ASoC: ab8500: Use ASoC I/O functionsMark Brown1-6/+4
In preparation for moving away from implementing the ASoC level register I/O functionality change direct calls to the ab8500 implementation of that to use snd_soc_write() Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org>
2013-09-20ASoC: ab8500: Downgrade noisy log messageMark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Lee Jones <lee.jones@linaro.org>
2013-09-20ASoC: 88pm860x: Use regmap for I/OMark Brown2-114/+63
As part of a move to remove the duplication of regmap functionality in ASoC convert the 88pm860x driver to use the regmap from the MFD. This means that we no longer cache the registers so performance will be slightly reduced on I/O operations. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-20ASoC: 88pm60x: Don't use control data for i2cMark Brown1-8/+9
In preparation for using the regmap directly in the CODEC driver replace references to the I2C client using control_data with references to the driver private data. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: ak4642: Remove redundant breakSachin Kamat1-2/+0
'break' after return statement is redundant. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: ak4104: provide a module device tableDaniel Mack1-3/+8
Provide a module device table for the SPI subsystem, so the driver can be autoloaded by the SPI core. While at it, get rid of an unnecessary #define. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-17ASoC: arizona: Improve handling of setting REFCLK to 0Charles Keepax1-9/+14
This patch suppresses calculation of REFCLK parameters when the REFCLK source frequency is set to zero, additionally it will consider a source frequency of zero as the REFCLK being disabled and switch to using the SYNCCLK. Reported-by: Kyung Kwee Ryu <Kyung-Kwee.Ryu@wolfsonmicro.com> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-13ASoC: 88pm860x: array overflow in snd_soc_put_volsw_2r_st()Dan Carpenter1-0/+3
This is called from snd_ctl_elem_write() with user supplied data so we need to add some bounds checking. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2013-09-13ASoC: ab8500-codec: info leak in anc_status_control_put()Dan Carpenter1-1/+6
If the user passes an invalid value it leads to an info leak when we print the error message or it could oops. This is called with user supplied data from snd_ctl_elem_write(). Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2013-09-13ASoC: max98095: a couple array underflowsDan Carpenter1-2/+2
The ->put() function are called from snd_ctl_elem_write() with user supplied data. The limit checks here could underflow leading to a crash. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2013-09-13Remove GENERIC_HARDIRQ config optionMartin Schwidefsky1-1/+1
After the last architecture switched to generic hard irqs the config options HAVE_GENERIC_HARDIRQS & GENERIC_HARDIRQS and the related code for !CONFIG_GENERIC_HARDIRQS can be removed. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2013-09-11ASoC: mc13783: add spi errata fixSteffen Trumtrar1-0/+4
The MC13783 Chip Errata, Rev. 4 says, that depending on SPI clock and main audio clock speed, the Audio Codec or Stereo DAC do sometimes not start when programmed to do so. This is due to an internal clock timing issue related to the loading of the SPI bits into the audio block. On an i.MX27 based system, this issue lead to switched audio channels under certain circumstances: RTC + Touch + Audio are used and loaded at startup. The mentioned workaround of writing registers 40 and 41 two times is implemented here. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Cc: stable@vger.kernel.org Signed-off-by: Mark Brown <broonie@linaro.org>
2013-09-01Merge remote-tracking branch 'asoc/topic/ssm2602' into tmpMark Brown1-1/+2
2013-09-01Merge remote-tracking branch 'asoc/topic/dapm' into tmpMark Brown2-54/+175
2013-08-31ASoC: ssm2602: Fix cache syncLars-Peter Clausen1-1/+2
The ssm2602 uses regmap for caching not soc-cache, so we need to use regcache_sync() instead of snd_soc_cache_sync(). Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-30ASoC: rt5640: change widget sequence for depopBard Liao2-54/+175
Signed-off-by: Bard Liao <bardliao@realtek.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-30Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-dapmMark Brown1-26/+0