ASoC: Support leaving paths enabled over system suspend
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 7 May 2010 20:11:40 +0000 (21:11 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 10 May 2010 09:36:48 +0000 (10:36 +0100)
commit1547aba993c990e5a316751431328145b38e1fea
treed9e549fa2d6bb67a632a0cfeefd39e3a077cac5d
parent9949788b793826f2d19e929ac0219ad0e0891e2d
ASoC: Support leaving paths enabled over system suspend

Some devices can usefully run audio while the Linux system is suspended.
One of the most common examples is smartphone systems, which are normally
designed to allow audio to be run between the baseband and the CODEC
without passing through the CPU and so can suspend the CPU when on a
voice call for additional power savings.

Support such systems by providing an API snd_soc_dapm_ignore_suspend().
This can be used to mark DAPM endpoints as not being sensitive to
system suspend. When the system is being suspended paths between
endpoints which are marked as ignoring suspend will be kept active.
Both source and sink must be marked, and there must already be an
active path between the two endpoints prior to suspend.

When paths are active over suspend the bias management will hold the
device bias in the ON state. This is used to avoid suspending the
CODEC while it is still in use.

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