remarkable-linux/sound
Peter Ujfalusi ad05c03b1c ASoC: tlv320dac33: Support for turning off the codec
Let the codec to hit OFF instead of STANDBY, when there is no activity.
When the codec is off, than the associated regulator can be also turned
off (if the number of users on the regulator is 0).

After initialization, the codec remains in power off, it is only turned
on for reading the ID registers (also testing the regulators).

The codec power is enabled, when the codec is moving from BIAS_OFF
to BIAS_STANDBY.
The codec is turned off, when it hits BIAS_OFF.

There are few scenarios, which has to be taken care::
1. Analog bypass caused BIAS_OFF -> BIAS_ON
   We need to power on the codec, and do the chip init, but we does not
   need to execute the playback related configuration
2. Playback caused  BIAS_OFF -> BIAS_ON
   We need to power on the codec, and do the chip init, and also we need
   to execute the playback related configuration.
3. Playback start, while Analog bypass is on (BIAS_ON -> BIAS_ON)
   We need to execute the playback related configuration. The codec is
   already on.
4. Analog bypass enable, while playback (BIAS_ON -> BIAS_ON)
   Nothing need to be done.
5. Playback start withing soc power down timeout (BIAS_ON -> BIAS_ON)
   We need to execute the playback related configuration. The codec is
   still on.

Since the power up, and the codec init is optimized, the added overhead
in stream start is minimal.

Withing this patch, the hard_power function is now only doing what it
supposed to: only handle the powers, and GPIO reset line.
The codec initialization and state restore has been moved out.

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-05-03 12:55:54 +01:00
..
aoa of: unify phandle name in struct device_node 2010-01-28 14:06:53 -07:00
arm Merge commit 'v2.6.34-rc2' into for-2.6.34 2010-03-22 11:17:26 +00:00
atmel
core ALSA: Add support for key reporting via the jack interface 2010-03-17 18:10:46 +00:00
drivers Merge remote branch 'alsa/devel' into topic/misc 2010-02-12 10:42:38 +01:00
i2c
isa sound: fix opti92x-ad1848 build 2010-03-08 18:36:17 +01:00
mips ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers 2010-01-18 15:00:34 +01:00
oss Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-03-18 16:48:19 -07:00
parisc
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-03-18 16:48:19 -07:00
pcmcia ALSA: pcm - Call pgprot_noncached() for vmalloc'ed buffers 2010-01-18 15:00:34 +01:00
ppc of: add 'of_' prefix to machine_is_compatible() 2010-02-09 08:33:00 -07:00
sh
soc ASoC: tlv320dac33: Support for turning off the codec 2010-05-03 12:55:54 +01:00
sparc
spi
synth
usb ALSA: usbaudio - remove debug "SAMPLE BYTES" printk line 2010-03-03 22:40:04 +01:00
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c ALSA: use subsys_initcall for sound core instead of module_init 2010-01-14 21:21:47 +01:00
sound_firmware.c