aboutsummaryrefslogtreecommitdiffstats
path: root/sound (follow)
AgeCommit message (Collapse)AuthorFilesLines
2014-03-18ASoC: cs42l52: Fix mask bits for SOC_VALUE_ENUM_SINGLEBrian Austin1-4/+4
The mask bits values were wrong for the SOC_VALUE_ENUM_SINGLE for the PCM/ADC Swap controls Reported-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2014-03-18ASoC: cs42l73: Fix mask bits for SOC_VALUE_ENUM_SINGLEBrian Austin1-3/+3
The mask bits values were wrong for the SOC_VALUE_ENUM_SINGLE for the mono mix controls. Reported-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
2014-03-18ASoC: add S/PDIF support to Armada 370 DB ASoC driverThomas Petazzoni2-0/+29
The Armada 370 DB board not only has analog audio input/output, but also S/PDIF input/output. This commit adds support for S/PDIF in the ASoC machine driver of the Armada 370 DB platform, and adjusts the Device Tree bindings documentation accordingly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-18ASoC: codecs: Replace instances of rtd->codec with dai->codecLars-Peter Clausen8-19/+10
With CODEC to CODEC links rtd->codec does not necessarily point to the driver's CODEC. CODEC drivers should always use dai->codec and never even look at the PCM runtime. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-18ASoC: tlv320aic31xx: Don't call kfree for memory allocated by devm_kzallocAxel Lin1-8/+3
The kfree call is not necessary, but we need to call snd_soc_unregister_codec() in remove(). Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-18Merge branch 'topic/alc28x' into for-nextTakashi Iwai1-0/+77
2014-03-18ALSA: hda/realtek - Restore default value for ALC282Kailang Yang1-0/+77
Restore the registers to prevent the abnormal digital power supply rising ratio/sequence to the codec and causing the incorrect default codec register restoration during initialization. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-18ALSA: oxygen: Xonar DG(X): fix Stereo Upmixing regressionClemens Ladisch1-6/+24
The code introduced in commit 1f91ecc14dee ("ALSA: oxygen: modify adjust_dg_dac_routing function") accidentally disregarded the old value of the playback routing register, so it broke the "Stereo Upmixing" mixer control. The unmuted parts of the channel routing are the same for all settings of the output destination, so it suffices to revert that part of the patch. Fixes: 1f91ecc14dee ('ALSA: oxygen: modify adjust_dg_dac_routing function') Tested-by: Roman Volkov <v1ron@mail.ru> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-18Merge branch 'topic/alc28x' into for-nextTakashi Iwai1-0/+177
2014-03-18ALSA: hda/realtek - Fix the noise after suspend and resume on ALC282 codecKailang Yang1-0/+73
When the power state of ALC283 codec goes to D3 or return back to D0, it gives a noise via headphone output. To follow the depop procedure, it will be better. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-18ALSA: hda/realtek - Restore default value for ALC283Kailang Yang1-0/+85
Restore the registers to prevent the abnormal digital power supply rising ratio/sequence to the codec and causing the incorrect default codec register restoration during initialization. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71861 Signed-off-by: Kailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-03-17ASoC: sirf-audio-codec: Remove snd_soc_codec_set_cache_io() callLars-Peter Clausen1-9/+0
There was a overlap between the snd_soc_codec_set_cache_io() cleanup and the addition of the sirf-audio-codec resulting in the sirf-audio-codec driver still using the old signature of snd_soc_codec_set_cache_io(), which will cause a compile error. Since the core is able to automatically setup IO for this driver we can just remove both the snd_soc_set_cache_io() call and the control_data assignment. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-17ASoC: simple-card: Simplify codeJean-Francois Moine1-5/+5
The global DAI format is used only in the function asoc_simple_card_parse_of(). So, move it from the private data to the stack. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-17ASoC: davinci-mcasp: Provide correct filter_data for dmaengine for non-DT bootPeter Ujfalusi1-5/+16
When we boot with non-DT mode the damengine will need the channel number and a filter function in order to get the channel. The filter_data is filled in the DAI driver while the filter_function will be provided by the edma-pcm driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-17ASoC: davinci: Add edma dmaengine platform driverPeter Ujfalusi2-0/+82
Platform driver glue for SoC using eDMA3 to use dmaengine PCM. The maximum number of periods need to be limited to 19 since the edma dmaengine driver limits the paRAM slot use for audio at in cyclic mode. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-17ASoC: tlv320aic31xx: Turn power off only once.Jyri Sarha1-1/+2
Regulator code keep count of enables and disables. Double disable causes an ugly warning. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-14ASoC: simple-card: Fix the reference count of device nodesJean-Francois Moine1-13/+37
The reference count of some device nodes is not correctly reset at end of card probe. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-14ASoC: rcar: fixup SND_SOC_DAIFMT_CBx_CFx flagsKuninori Morimoto1-2/+2
SND_SOC_DAIFMT_CBx_CFx means "codec" side master/slave mode. Then, rcar will be master mode if it was SND_SOC_DAIFMT_CBS_CFS. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-14ASoC: fsi: fixup SND_SOC_DAIFMT_CBx_CFx flagsKuninori Morimoto1-1/+1
SND_SOC_DAIFMT_CBx_CFx means "codec" side master/slave mode. Then, FSI will be master mode if it was SND_SOC_DAIFMT_CBS_CFS. This patch fixup platform settings too. Then, it tidyups SND_SOC_DAIFMT_INV settings. Acked-by: Simon Horman <horms+renesas@verge.net.au> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-14ASoC: max98090: Remove unused control_data fieldLars-Peter Clausen2-2/+0
The driver assigns a value to the control_data field of the driver's state struct, but never reads it again. Which means it is unused and can be removed. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: davinci-evm: Register machine level DAPM elements with the cardLars-Peter Clausen1-14/+8
Machine level DAPM widgets and routes should be registered in the card's DAPM context, rather than in the CODEC's context. While we are at it also drop the snd_soc_dapm_enable_pin() calls, since pins are enabled by default and also turn the snd_soc_dapm_disable_pin() calls into snd_soc_dapm_nc_pin() calls for unconnected pins. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: omap-abe-twl6040: Register machine level DMIC DAPM routes with the cardLars-Peter Clausen1-2/+1
Machine level DAPM widgets and routes should be registered in the card's DAPM context, rather than in the CODEC's context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13Merge tag 'tlv320aic31xx-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-nextTakashi Iwai1-15/+5
ASoC: Fixes for tlv320aic31xx A few fixes for issues not yet identified by the zero day tester due to the last pull request being rushed in order to clean up the problem with the git mismerge.
2014-03-13Merge tag 'asoc-v3.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-nextTakashi Iwai103-785/+1854
ASoC: Updates for v3.15 This is mostly a few additional fixes from Lars-Peter, a new driver and cleaning up a git failure with merging the Intel branch (combined with an xargs failure to pay attention to error codes). The history lists a bunch of additional commits for the branch but the content of those commits is actually present already but not recorded in history due to git failing. Unfortunately xargs is used in the merge script and it doesn't do a good job of noticing errors from the commands it invokes.
2014-03-13ASoC: tlv320aic31xx: Staticise non-exported symbolsMark Brown1-5/+5
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: tlv320aic31xx: Remove snd_soc_codec_set_cache_io() callJyri Sarha1-9/+0
Remove snd_soc_codec_set_cache_io(codec, 8, 8, SND_SOC_REGMAP) call and codec->control_data = aic31xx->regmap assignment since that already done by core. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: tlv320aic31xx: Fix unused variable warning from aic31xx_clk_offJyri Sarha1-1/+0
Fix "warning: unused variable 'aic31xx'" from function 'aic31xx_clk_off'. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13Merge remote-tracking branch 'asoc/topic/tlv320aic31xx' into asoc-nextMark Brown4-0/+1559
2014-03-13Merge remote-tracking branch 'asoc/topic/s6000' into asoc-nextMark Brown1-18/+10
2014-03-13Merge remote-tracking branch 'asoc/topic/pxa' into asoc-nextMark Brown2-44/+25
2014-03-13Merge remote-tracking branch 'asoc/topic/max98095' into asoc-nextMark Brown1-23/+27
2014-03-13Merge remote-tracking branch 'asoc/topic/max98088' into asoc-nextMark Brown1-20/+19
2014-03-13Merge remote-tracking branch 'asoc/topic/lm49453' into asoc-nextMark Brown1-9/+7
2014-03-13Merge remote-tracking branch 'asoc/topic/lm4857' into asoc-nextMark Brown1-2/+1
2014-03-13Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-nextMark Brown4-1/+132
2014-03-13Merge remote-tracking branch 'asoc/topic/jack' into asoc-nextMark Brown1-2/+3
2014-03-13Merge remote-tracking branch 'asoc/topic/io' into asoc-nextMark Brown87-651/+64
2014-03-13Merge remote-tracking branch 'asoc/topic/intel' into asoc-nextMark Brown1-2/+2
2014-03-13Merge remote-tracking branch 'asoc/topic/cirrus' into asoc-nextMark Brown1-13/+5
2014-03-13Merge remote-tracking branch 'asoc/topic/dapm' into asoc-nextMark Brown1-1/+1
2014-03-13Merge tag 'asoc-v3.15' into asoc-intelMark Brown189-4831/+9426
ASoC: Updates for v3.15 Quite a busy release for ASoC this time, more on janitorial work than exciting new features but welcome nontheless: - Lots of cleanups from Takashi for enumerations; the original API for these was error prone so he's refactored lots of code to use more modern APIs which avoid issues. - Elimination of the ASoC level wrappers for I2C and SPI moving us closer to converting to regmap completely and avoiding some randconfig hassle. - Provide both manually and transparently locked DAPM APIs rather than a mix of the two fixing some concurrency issues. - Start converting CODEC drivers to use separate bus interface drivers rather than having them all in one file helping avoid dependency issues. - DPCM support for Intel Haswell and Bay Trail platforms. - Lots of work on improvements for simple-card, DaVinci and the Renesas rcar drivers. - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the CSR SiRF SoC. Conflicts: sound/soc/intel/Kconfig
2014-03-13ASoC: tlv320aic31xx: Add basic codec driver implementationJyri Sarha4-0/+1559
This commit adds a bare bones driver support for TLV320AIC31XX family audio codecs. The driver adds basic stereo playback trough headphone and speaker outputs and mono capture trough microphone inputs. The driver is currently missing support at least for mini DSP features and jack detection. I have tested the driver only on TLV320AIC3111, but based on the data sheets TLV320AIC3100, TLV320AIC3110, and TLV320AIC3120 should work Ok too. The base for the implementation was taken from: git@gitorious.org:ti-codecs/ti-codecs.git ajitk/topics/k3.10.1-aic31xx -branch at commit 77504eba0294764e9e63b4a0c696b44db187cd13. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: s6105-ipcam: Convert to table based DAPM setupLars-Peter Clausen1-18/+10
Use table based setup to register the DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. While we are at it also remove the snd_soc_dapm_enable_pin() in the init callback, since pins are enabled by default. Also drop the snd_soc_dapm_sync() calls, since they are ignored by the core anyway until the card has been fully instantiated. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: Intel: don't select RT5640 if !I2CStephen Warren1-2/+2
The rt5640 driver won't compile without I2C enabled. Hence, the Intel Haswell and Baytrail+RT5640 ASoC drivers must also depend on I2C, since these select RT5640. This solves: sound/soc/codecs/rt5640.c:2220:1: warning: data definition has no type or storage class [enabled by default] sound/soc/codecs/rt5640.c:2220:1: error: type defaults to ‘int’ in declaration of ‘module_i2c_driver’ [-Werror=implicit-int] sound/soc/codecs/rt5640.c:2220:1: warning: parameter names (without types) in function declaration [enabled by default] sound/soc/codecs/rt5640.c:2210:26: warning: ‘rt5640_i2c_driver’ defined but not used [-Wunused-variable] Reported-by: Jim Davis <jim.epost@gmail.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: pxa: tosa: Convert to table based DAPM and control setupLars-Peter Clausen1-22/+13
Use table based setup to register the controls and DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: pxa: magician: Convert to table based DAPM and control setupLars-Peter Clausen1-22/+12
Use table based setup to register the controls and DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13Merge branch 'topic/dapm' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-pxaMark Brown14-196/+438
2014-03-13ASoC: snappercl15: Convert to table based DAPM setupLars-Peter Clausen1-13/+5
Use table based setup to register the DAPM widgets and routes. This on one hand makes the code a bit shorter and cleaner and on the other hand the board level DAPM elements get registered in the card's DAPM context rather than in the CODEC's DAPM context. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13ASoC: ams-delta: Fix compile errorLars-Peter Clausen1-1/+1
snd_soc_dapm_mutex_unlock() wants a pointer to the DAPM context, not the CODEC. Fixes: 03510ca07 ("ASoC: ams-delta: Update locking around use of DAPM pin API") Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-13Merge tag 'asoc-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-nextTakashi Iwai194-4666/+16840
ASoC: Updates for v3.15 Quite a busy release for ASoC this time, more on janitorial work than exciting new features but welcome nontheless: - Lots of cleanups from Takashi for enumerations; the original API for these was error prone so he's refactored lots of code to use more modern APIs which avoid issues. - Elimination of the ASoC level wrappers for I2C and SPI moving us closer to converting to regmap completely and avoiding some randconfig hassle. - Provide both manually and transparently locked DAPM APIs rather than a mix of the two fixing some concurrency issues. - Start converting CODEC drivers to use separate bus interface drivers rather than having them all in one file helping avoid dependency issues. - DPCM support for Intel Haswell and Bay Trail platforms. - Lots of work on improvements for simple-card, DaVinci and the Renesas rcar drivers. - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the CSR SiRF SoC.