lkml.org 
[lkml]   [2023]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v1 2/8] ALSA: hda: cs35l41: Assert reset before system suspend
    Date
    Some system suspend modes may remove power supplies.
    To ensure we are not running during this time, we should assert reset.

    Note: since the amps use a shared reset, asserting reset prior to
    system suspend only works if the amps are suspended in the reverse
    order to probe.

    Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
    ---
    sound/pci/hda/cs35l41_hda.c | 13 ++++++++-----
    1 file changed, 8 insertions(+), 5 deletions(-)

    diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
    index 28cb10ddd191..919e38213975 100644
    --- a/sound/pci/hda/cs35l41_hda.c
    +++ b/sound/pci/hda/cs35l41_hda.c
    @@ -813,14 +813,17 @@ static int cs35l41_system_suspend(struct device *dev)

    /* Shutdown DSP before system suspend */
    ret = cs35l41_ready_for_reset(cs35l41);
    -
    if (ret)
    dev_err(dev, "System Suspend Failed, not ready for Reset: %d\n", ret);

    - /*
    - * Reset GPIO may be shared, so cannot reset here.
    - * However beyond this point, amps may be powered down.
    - */
    + if (cs35l41->reset_gpio) {
    + dev_info(cs35l41->dev, "Asserting Reset\n");
    + gpiod_set_value_cansleep(cs35l41->reset_gpio, 0);
    + usleep_range(2000, 2100);
    + }
    +
    + dev_dbg(cs35l41->dev, "System Suspended\n");
    +
    return ret;
    }

    --
    2.34.1
    \
     
     \ /
      Last update: 2023-10-26 17:08    [W:3.507 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site