ASoC: cs35l41: Fix DSP mbox start command and global enable order
authorLucas Tanure <tanureal@opensource.cirrus.com>
Thu, 3 Mar 2022 17:30:42 +0000 (17:30 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 7 Mar 2022 13:12:38 +0000 (13:12 +0000)
Global enable must happen before CSPL_MBOX_CMD_RESUME command
is sent. Move it to PRE_PMU as both events use
SND_SOC_DAPM_OUT_DRV_E macro.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220303173059.269657-4-tanureal@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs35l41.c

index f3787d7..05de94f 100644 (file)
@@ -573,7 +573,7 @@ static int cs35l41_main_amp_event(struct snd_soc_dapm_widget *w,
        int ret = 0;
 
        switch (event) {
-       case SND_SOC_DAPM_POST_PMU:
+       case SND_SOC_DAPM_PRE_PMU:
                regmap_multi_reg_write_bypassed(cs35l41->regmap,
                                                cs35l41_pup_patch,
                                                ARRAY_SIZE(cs35l41_pup_patch));
@@ -649,7 +649,7 @@ static const struct snd_soc_dapm_widget cs35l41_dapm_widgets[] = {
 
        SND_SOC_DAPM_OUT_DRV_E("Main AMP", CS35L41_PWR_CTRL2, 0, 0, NULL, 0,
                               cs35l41_main_amp_event,
-                              SND_SOC_DAPM_POST_PMD |  SND_SOC_DAPM_POST_PMU),
+                              SND_SOC_DAPM_POST_PMD |  SND_SOC_DAPM_PRE_PMU),
 
        SND_SOC_DAPM_MUX("ASP TX1 Source", SND_SOC_NOPM, 0, 0, &asp_tx1_mux),
        SND_SOC_DAPM_MUX("ASP TX2 Source", SND_SOC_NOPM, 0, 0, &asp_tx2_mux),