linux/sound/soc
Mark Brown da18396f94 ASoC: core: Allow digital mute for capture
Help avoid noise from the power up of the capture path propagating through
into the start of the recording (especially noise caused by the ramp of
microphone biases) by keeping the capture muted until after we've finished
powering things up with DAPM in the same manner we do for playback. This
allows us to take advantage of soft mute support in the hardware more
effectively and is more consistent.

The core code using the existing digital mute operation is updated to take
advantage of this. Some additional cases in the soc-pcm code and suspend
will need separate handling but these are less practically relevant than
the main runtime stream start/stop case.

Rather than refactor the digital mute function in every single driver a
new operation is added for drivers taking advantage of this functionality,
the old operation should be phased out over time.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by Vinod Koul <vinod.koul@intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2013-02-08 11:08:44 +00:00
..
atmel ASoC: atmel: remove __dev* attributes 2012-12-10 00:31:03 +09:00
au1x ASoC: au1x: remove __dev* attributes 2012-12-10 00:31:06 +09:00
blackfin ASoC: blackfin: remove __dev* attributes 2012-12-10 00:29:39 +09:00
cirrus ASoC: cirrus: remove __dev* attributes 2012-12-10 00:31:09 +09:00
codecs Merge remote-tracking branch 'asoc/fix/wm5100' into tmp 2013-01-10 12:22:30 +00:00
davinci ASoC: McASP: implement a way to force BCLK/LRCLK ratios 2012-12-07 14:47:10 +09:00
dwc ASoC: dwc: Staticise non-exported i2s_start() 2012-07-04 19:15:43 +01:00
fsl Sound updates for 3.8-rc1 2012-12-13 11:51:23 -08:00
generic
jz4740 ASoC: jz4740: remove __dev* attributes 2012-12-10 00:31:12 +09:00
kirkwood ASoC: kirkwood: remove __dev* attributes 2012-12-10 00:31:24 +09:00
mid-x86 ASoC: mid-x86: remove __dev* attributes 2012-12-10 00:31:14 +09:00
mxs ASoC: mxs: remove __dev* attributes 2012-12-10 00:31:26 +09:00
nuc900 ASoC: nuc900: remove __dev* attributes 2012-12-10 00:31:28 +09:00
omap Sound updates for 3.8-rc1 2012-12-13 11:51:23 -08:00
pxa ASoC: pxa: remove __dev* attributes 2012-12-10 00:30:34 +09:00
s6000 ASoC: s6000: remove __dev* attributes 2012-12-10 00:31:34 +09:00
samsung ASoC: Samsung: remove __dev* attributes 2012-12-10 00:30:19 +09:00
sh ASoC: sh: remove __dev* attributes 2012-12-10 00:31:36 +09:00
spear ASoC: spear: remove __dev* attributes 2012-12-10 00:31:38 +09:00
tegra Sound updates for 3.8-rc1 2012-12-13 11:51:23 -08:00
txx9 ASoC: txx9: remove __dev* attributes 2012-12-10 00:31:43 +09:00
ux500 Sound updates for 3.8-rc1 2012-12-13 11:51:23 -08:00
Kconfig ASoC: Rename ep93xx soc directory to cirrus 2012-08-28 10:24:21 -07:00
Makefile ASoC: dmaengine: Correct Makefile when sound is built as module 2012-10-09 15:57:33 +09:00
soc-cache.c ASoC: cache: Standardise ASoC cache messages 2012-11-21 11:39:51 +09:00
soc-compress.c ASoC: core: Allow digital mute for capture 2013-02-08 11:08:44 +00:00
soc-core.c ASoC: core: Allow digital mute for capture 2013-02-08 11:08:44 +00:00
soc-dapm.c ASoC: core: Allow digital mute for capture 2013-02-08 11:08:44 +00:00
soc-dmaengine-pcm.c ASoC: dmaengine_pcm: set MODULE_LICENSE 2012-11-23 23:42:54 +09:00
soc-io.c ASoC: io: Don't dereference regmap if we failed to get one 2012-06-23 12:11:32 +01:00
soc-jack.c Merge remote-tracking branch 'asoc/topic/log' into asoc-next 2012-12-10 00:22:14 +09:00
soc-pcm.c ASoC: core: Allow digital mute for capture 2013-02-08 11:08:44 +00:00
soc-utils.c ASoC: utils: remove __dev* attributes 2012-12-10 00:31:48 +09:00