lkml.org 
[lkml]   [2012]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 34/68] ASoC: dapm: Check for bias level when powering down
    3.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Mark Brown <broonie@opensource.wolfsonmicro.com>

    commit 7679e42ec833ed70aa34790a5f39dcb7e5bda4fe upstream.

    Recent enhancements in the bias management means that we might not be
    in standby when the CODEC is idle and can have active widgets without
    being in full power mode but the shutdown functionality assumes these
    things. Add checks for the bias level at each stage so that we don't
    do transitions other than the ON->PREPARE->STANDBY->OFF ones that the
    drivers are expecting.

    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    sound/soc/soc-dapm.c | 12 +++++++++---
    1 file changed, 9 insertions(+), 3 deletions(-)

    --- a/sound/soc/soc-dapm.c
    +++ b/sound/soc/soc-dapm.c
    @@ -2615,9 +2615,13 @@ static void soc_dapm_shutdown_codec(stru
    * standby.
    */
    if (powerdown) {
    - snd_soc_dapm_set_bias_level(dapm, SND_SOC_BIAS_PREPARE);
    + if (dapm->bias_level == SND_SOC_BIAS_ON)
    + snd_soc_dapm_set_bias_level(dapm,
    + SND_SOC_BIAS_PREPARE);
    dapm_seq_run(dapm, &down_list, 0, false);
    - snd_soc_dapm_set_bias_level(dapm, SND_SOC_BIAS_STANDBY);
    + if (dapm->bias_level == SND_SOC_BIAS_PREPARE)
    + snd_soc_dapm_set_bias_level(dapm,
    + SND_SOC_BIAS_STANDBY);
    }
    }

    @@ -2630,7 +2634,9 @@ void snd_soc_dapm_shutdown(struct snd_so

    list_for_each_entry(codec, &card->codec_dev_list, list) {
    soc_dapm_shutdown_codec(&codec->dapm);
    - snd_soc_dapm_set_bias_level(&codec->dapm, SND_SOC_BIAS_OFF);
    + if (codec->dapm.bias_level == SND_SOC_BIAS_STANDBY)
    + snd_soc_dapm_set_bias_level(&codec->dapm,
    + SND_SOC_BIAS_OFF);
    }
    }




    \
     
     \ /
      Last update: 2012-03-09 21:07    [W:4.117 / U:0.616 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site