Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa63e477 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: Don't restart an already running WM8958 DSP2



Don't want to upset the DSP.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@ti.com>
Cc: stable@kernel.org
parent d7fdae7c
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -362,6 +362,10 @@ static void wm8958_dsp_apply(struct snd_soc_codec *codec, int path, int start)
		path, wm8994->dsp_active, start, pwr_reg, reg);
		path, wm8994->dsp_active, start, pwr_reg, reg);


	if (start && ena) {
	if (start && ena) {
		/* If the DSP is already running then noop */
		if (reg & WM8958_DSP2_ENA)
			return;

		/* If either AIFnCLK is not yet enabled postpone */
		/* If either AIFnCLK is not yet enabled postpone */
		if (!(snd_soc_read(codec, WM8994_AIF1_CLOCKING_1)
		if (!(snd_soc_read(codec, WM8994_AIF1_CLOCKING_1)
		      & WM8994_AIF1CLK_ENA_MASK) &&
		      & WM8994_AIF1CLK_ENA_MASK) &&