lkml.org 
[lkml]   [2009]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[053/119] ASoC: Fix suspend with active audio streams
    2.6.31-stable review patch.  If anyone has any objections, please let us know.

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

    commit 50b6bce59d154b5db137907a5c0ed45a4e7a3829 upstream.

    When we get a stream suspend event force the power down since otherwise
    the stream would remain marked as active. In future we'll probably want
    to make this stream-specific and add an interface to make the power down
    of other widgets optional in order to support leaving bypass paths
    active while suspending the processor.

    Reported-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
    Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

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

    --- a/sound/soc/soc-dapm.c
    +++ b/sound/soc/soc-dapm.c
    @@ -774,9 +774,19 @@ static int dapm_power_widgets(struct snd
    if (!w->power_check)
    continue;

    - power = w->power_check(w);
    - if (power)
    - sys_power = 1;
    + /* If we're suspending then pull down all the
    + * power. */
    + switch (event) {
    + case SND_SOC_DAPM_STREAM_SUSPEND:
    + power = 0;
    + break;
    +
    + default:
    + power = w->power_check(w);
    + if (power)
    + sys_power = 1;
    + break;
    + }

    if (w->power == power)
    continue;



    \
     
     \ /
      Last update: 2009-12-07 01:55    [W:3.296 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site