linux-sg2042/sound/soc/codecs
Peter Ujfalusi a6cea9655b ASoC: tlv320dac33: Power down digital parts, when not needed
If the following scenario has been followed:
1. Enable analog bypass
amixer sset 'Analog Left Bypass' on
amixer sset 'Analog Right Bypass' on

2. Start playback
aplay -fdat -d3 /dev/zero

After the playback stopped (3 sec), and the soc timeout (5 sec),
the digital parts of the codec will remain powered up.
This means that the DAI clocks are continue to run, the
oscillator remain operational, etc.

Use the SND_SOC_DAPM_POST_PMD widget to get notification
about the stopped stream, and power down the digital
part of the codec.
If the analog bypass is enabled, than the codec will remain in
BIAS_ON level, and things will work correctly.
In case, if the bypass is disabled, than the codec will
fall to BIAS_STANDBY than to BIAS_OFF level, as it used
to.

The digital part of DAC33 is initialized at every stream start
(DAPM_PRE:PRE_PMU event), so subsequent streams (within 5 sec)
will have working DAI.
When the codec is coming out from BIAS_OFF, the full power-up
sequence followed by the same DAPM_PRE widget event will power up
the digital part.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-12-10 22:50:12 +00:00
..
88pm860x-codec.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
88pm860x-codec.h ASoC: add 88pm860x codec driver 2010-08-18 18:03:09 +01:00
Kconfig ASoC: Add initial WM8737 driver 2010-11-24 11:33:12 +00:00
Makefile ASoC: Add initial WM8737 driver 2010-11-24 11:33:12 +00:00
ac97.c ASoC: ac97: add MODULE_ALIAS for the platform driver 2010-10-13 10:35:30 +01:00
ad193x.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
ad193x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ad1836.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
ad1836.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ad1980.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
ad1980.h Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.37 2010-08-15 14:56:40 +01:00
ad73311.c ASoC: sound/ad73311: add missing __devexit marker 2010-10-27 07:53:17 +02:00
ad73311.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ads117x.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ads117x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4104.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4535.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
ak4535.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4642.c ASoC: Decouple DAPM from CODECs 2010-11-06 11:28:29 -04:00
ak4671.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
ak4671.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
alc5623.c ASoC: Fix a memory leak in alc5623_i2c_probe error path 2010-11-22 20:31:14 +00:00
alc5623.h ASoC: add support for alc562[123] codecs 2010-10-21 13:51:13 -07:00
cq93vc.c ASoC: Do not include soc-dai.h 2010-11-22 14:04:53 +00:00
cs42l51.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
cs42l51.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
cs4270.c ASoC: Staticise CS4270 DAI 2010-10-07 13:40:44 -07:00
cx20442.c ASoC: Move pop time from DAPM context to sound card 2010-11-06 11:28:35 -04:00
cx20442.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
da7210.c ASoC: Decouple DAPM from CODECs 2010-11-06 11:28:29 -04:00
jz4740.c ASoC: Fix compile breakage in jz4740.c and smartq_wm8987.c 2010-11-22 14:04:05 +00:00
l3.c ASoC: UDA134x codec driver 2008-11-17 11:45:39 +00:00
max9877.c ASoC: MAX9877: fix write operation for register 2009-07-23 11:08:30 +01:00
max9877.h ASoC: MAX9877: add MAX9877 amp driver 2009-07-15 16:59:31 +01:00
max98088.c Merge branch 'for-2.6.37' into for-2.6.38 2010-11-23 14:30:41 +00:00
max98088.h ASoC: Restore MAX98088 CODEC driver 2010-10-18 16:46:27 -07:00
pcm3008.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
pcm3008.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
spdif_transciever.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ssm2602.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
ssm2602.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
stac9766.c Merge branch 'for-2.6.37' into for-2.6.38 2010-11-22 20:33:12 +00:00
stac9766.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic3x.c ASoC: Remove unused aic3x_i2c_init and aic3x_i2c_exit functions 2010-12-02 11:50:07 +00:00
tlv320aic3x.h ASoC: tlv320aic3x: Reimplement output mixers 2010-08-28 10:57:58 +01:00
tlv320aic23.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
tlv320aic23.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic26.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
tlv320aic26.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320dac33.c ASoC: tlv320dac33: Power down digital parts, when not needed 2010-12-10 22:50:12 +00:00
tlv320dac33.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tpa6130a2.c ASoC: tpa6130a2: Replace DAPM code with direct interface 2010-12-02 11:50:07 +00:00
tpa6130a2.h ASoC: tpa6130a2: Replace DAPM code with direct interface 2010-12-02 11:50:07 +00:00
twl4030.c Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.38 2010-11-24 11:26:39 +00:00
twl6040.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
twl6040.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
uda134x.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
uda134x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
uda1380.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
uda1380.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wl1273.c ASoC: Do not include soc-dai.h 2010-11-22 14:04:53 +00:00
wl1273.h ASoC: TI WL1273 FM Radio Codec. 2010-08-20 13:28:49 +01:00
wm2000.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm2000.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8350.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8350.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8400.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8400.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8510.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8510.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8523.c Merge branch 'for-2.6.37' into for-2.6.38 2010-11-22 20:33:12 +00:00
wm8523.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8580.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8580.h ASoC: Automatically calculate clock ratio for WM8580 2010-08-15 14:52:12 +01:00
wm8711.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8711.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8727.c ASoC: Staticise WM8727 codec driver structure 2010-08-12 16:10:55 +01:00
wm8728.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8728.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8731.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8731.h ASoC: Support non-crystal master clocks for WM8731 2010-08-18 16:52:56 +01:00
wm8737.c ASoC: Remove redundant hw_write initialisation in WM8737 2010-11-26 15:16:19 +00:00
wm8737.h ASoC: Add initial WM8737 driver 2010-11-24 11:33:12 +00:00
wm8741.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8741.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8750.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8750.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8753.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8753.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8770.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8770.h ASoC: WM8770: Initial driver 2010-11-06 11:35:39 -04:00
wm8776.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8776.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8804.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8804.h ASoC: WM8804: Initial driver 2010-09-30 13:32:21 -07:00
wm8900.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8900.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8903.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8903.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8904.c Merge branch 'for-2.6.37' into for-2.6.38 2010-11-23 14:30:41 +00:00
wm8904.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8940.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8940.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8955.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8955.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8960.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8960.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8961.c Merge branch 'for-2.6.37' into for-2.6.38 2010-11-24 11:57:43 +00:00
wm8961.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8962.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8962.h ASoC: Compress WM8962 register access map 2010-10-11 03:52:04 -07:00
wm8971.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8971.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8974.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8974.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8978.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8978.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8985.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8985.h ASoC: WM8985: Initial driver 2010-09-15 16:11:24 +01:00
wm8988.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8988.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8990.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8990.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8993.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm8993.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8994-tables.c ASoC: Convert WM8994 to use soc-cache.c cache functions 2010-11-27 10:32:14 +00:00
wm8994.c ASoC: Implement runtime PM for WM8994/58 2010-11-27 10:32:14 +00:00
wm8994.h ASoC: Convert WM8994 to use soc-cache.c cache functions 2010-11-27 10:32:14 +00:00
wm9081.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm9081.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9090.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm9090.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9705.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm9705.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9712.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm9712.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9713.c ASoC: Do not include soc-dapm.h 2010-11-22 14:04:41 +00:00
wm9713.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm_hubs.c ASoC: Use DC servo startup mode when not doing DCS correction 2010-11-27 10:32:13 +00:00
wm_hubs.h ASoC: Store DC offset correction for wm_hubs devices in class W mode 2010-10-28 11:34:03 -07:00