* [PATCH] ASoC: core: Better support for idle_bias_off suspend ignores
@ 2012-01-31 15:49 Mark Brown
2012-01-31 16:01 ` Liam Girdwood
0 siblings, 1 reply; 2+ messages in thread
From: Mark Brown @ 2012-01-31 15:49 UTC (permalink / raw)
To: Liam Girdwood; +Cc: alsa-devel, patches, Mark Brown
If an idle_bias_off device is in any state other than off then it is still
active for some reason (typically a low power function such as accessory
detection). This wasn't an issue when the feature was implemented as we
always went to _ON for any active function, subsequent power improvements
have changed things.
With the modern way of doing things we should overhaul the infrastructure
to allow devices to explicitly take references for these functions but
that's a much more invasive change and will require driver updates to
deploy, this will bring the framework into line with the existing driver
set before we do that work.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/soc-core.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 53fd9d2..09fa8a6 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -567,6 +567,17 @@ int snd_soc_suspend(struct device *dev)
if (!codec->suspended && codec->driver->suspend) {
switch (codec->dapm.bias_level) {
case SND_SOC_BIAS_STANDBY:
+ /*
+ * If the CODEC is capable of idle
+ * bias off then being in STANDBY
+ * means it's doing something,
+ * otherwise fall through.
+ */
+ if (codec->dapm.idle_bias_off) {
+ dev_dbg(codec->dev,
+ "idle_bias_off CODEC on over suspend\n");
+ break;
+ }
case SND_SOC_BIAS_OFF:
codec->driver->suspend(codec);
codec->suspended = 1;
--
1.7.9.rc1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ASoC: core: Better support for idle_bias_off suspend ignores
2012-01-31 15:49 [PATCH] ASoC: core: Better support for idle_bias_off suspend ignores Mark Brown
@ 2012-01-31 16:01 ` Liam Girdwood
0 siblings, 0 replies; 2+ messages in thread
From: Liam Girdwood @ 2012-01-31 16:01 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel, patches
On Tue, 2012-01-31 at 15:49 +0000, Mark Brown wrote:
> If an idle_bias_off device is in any state other than off then it is still
> active for some reason (typically a low power function such as accessory
> detection). This wasn't an issue when the feature was implemented as we
> always went to _ON for any active function, subsequent power improvements
> have changed things.
>
> With the modern way of doing things we should overhaul the infrastructure
> to allow devices to explicitly take references for these functions but
> that's a much more invasive change and will require driver updates to
> deploy, this will bring the framework into line with the existing driver
> set before we do that work.
>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> ---
> sound/soc/soc-core.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 53fd9d2..09fa8a6 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -567,6 +567,17 @@ int snd_soc_suspend(struct device *dev)
> if (!codec->suspended && codec->driver->suspend) {
> switch (codec->dapm.bias_level) {
> case SND_SOC_BIAS_STANDBY:
> + /*
> + * If the CODEC is capable of idle
> + * bias off then being in STANDBY
> + * means it's doing something,
> + * otherwise fall through.
> + */
> + if (codec->dapm.idle_bias_off) {
> + dev_dbg(codec->dev,
> + "idle_bias_off CODEC on over suspend\n");
> + break;
> + }
> case SND_SOC_BIAS_OFF:
> codec->driver->suspend(codec);
> codec->suspended = 1;
Acked-by: Liam Girdwood <lrg@ti.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-01-31 16:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-31 15:49 [PATCH] ASoC: core: Better support for idle_bias_off suspend ignores Mark Brown
2012-01-31 16:01 ` Liam Girdwood
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).