ASoC: Support turning off bias when the CODEC is idle
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 19 Jan 2010 22:49:43 +0000 (22:49 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 21 Jan 2010 12:04:08 +0000 (12:04 +0000)
commita96ca3387382498ec8b501db5acef3ed9eb1bd36
tree3bc8d76f8796b0e555585802576fc2fed574587a
parentb91b8fa02482a5a18f598ee5d2cd42970051731b
ASoC: Support turning off bias when the CODEC is idle

Currently ASoC always maintains the bias of the CODEC while the system
is active.  With older mobile CODECs this is required since the outputs
are referenced to a non-zero voltage and enabling or disabling this
voltage without audible pops or clicks in the output takes too long to
do when starting or stopping audio.

As a result of features such as ground referenced outputs and class D
speaker drivers current generation devices are able to power on and off
much more quickly without these system level issues so provide a new
flag idle_bias_off in snd_soc_codec which will cause the core to turn
off the CODEC bias.  The distinction between STANDBY and OFF is still
maintained.  This is partly for consistency but also allows for
potential future extensions such as per-machine overrides or deferring
the bias removal.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
include/sound/soc.h
sound/soc/soc-dapm.c