From: Jarkko Nikula Date: Fri, 10 Dec 2010 18:53:55 +0000 (+0200) Subject: ASoC: Fix bias power down of non-DAPM codec X-Git-Tag: upstream/snapshot3+hdmi~12174^2~5^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=862af8adbe6b9ccb7c00c13717b1f92465f79aa2;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git ASoC: Fix bias power down of non-DAPM codec Currently bias of non-DAPM codec will be powered down (standby/off) whenever there is a stream stop. This is wrong in simultaneous playback/capture since the bias is put down immediately after stopping the first stream. Fix this by using the codec->active count when figuring out the needed bias level after stream stop. Signed-off-by: Jarkko Nikula Acked-by: Liam Girdwood Signed-off-by: Mark Brown --- diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 75ed649..c721502 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -944,6 +944,9 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event) case SND_SOC_DAPM_STREAM_RESUME: sys_power = 1; break; + case SND_SOC_DAPM_STREAM_STOP: + sys_power = !!codec->active; + break; case SND_SOC_DAPM_STREAM_SUSPEND: sys_power = 0; break;