Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: max98373: change power down sequence for smart amp

In order to avoid pop noise which occurs when switching
device from speaker to headphone, the amplifier should
power down first when stopping playback.

Signed-off-by: Long Wang <long.wang@analog.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Link: https://lore.kernel.org/r/20230406154535.18205-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Long Wang and committed by
Mark Brown
352e1eb1 0b186bb0

+2 -2
+2 -2
sound/soc/codecs/max98373.c
··· 31 31 MAX98373_GLOBAL_EN_MASK, 1); 32 32 usleep_range(30000, 31000); 33 33 break; 34 - case SND_SOC_DAPM_POST_PMD: 34 + case SND_SOC_DAPM_PRE_PMD: 35 35 regmap_update_bits(max98373->regmap, 36 36 MAX98373_R20FF_GLOBAL_SHDN, 37 37 MAX98373_GLOBAL_EN_MASK, 0); ··· 64 64 static const struct snd_soc_dapm_widget max98373_dapm_widgets[] = { 65 65 SND_SOC_DAPM_DAC_E("Amp Enable", "HiFi Playback", 66 66 MAX98373_R202B_PCM_RX_EN, 0, 0, max98373_dac_event, 67 - SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), 67 + SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), 68 68 SND_SOC_DAPM_MUX("DAI Sel Mux", SND_SOC_NOPM, 0, 0, 69 69 &max98373_dai_controls), 70 70 SND_SOC_DAPM_OUTPUT("BE_OUT"),