Skip to content

Commit a7423e9

Browse files
Stefan Bindingtiwai
authored andcommitted
ALSA: hda: cs35l41: Assert reset before system suspend
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent f01b371 commit a7423e9

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

sound/pci/hda/cs35l41_hda.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -813,14 +813,17 @@ static int cs35l41_system_suspend(struct device *dev)
813813

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

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

0 commit comments

Comments
 (0)