PGAs often control the output from a chip and if the DSP is also marked as a PGA it may be powered up after the output has been enabled. This patch changes the ADSP2 cores to be marked as snd_soc_dapm_mixer widgets so they are powered up before any PGAs.
Signed-off-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com ---
Hi,
Was also considering if it would be worth adding an additional snd_soc_dapm_dsp id? That could sit between mixers and pgas, but I can't really see any obvious issue with treating the DSP as a mixer and it is a much simpler change. Although I am open to writing the other change if it is preferred?
Thanks, Charles
sound/soc/codecs/wm_adsp.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/wm_adsp.h b/sound/soc/codecs/wm_adsp.h index d018dea..795a3b2 100644 --- a/sound/soc/codecs/wm_adsp.h +++ b/sound/soc/codecs/wm_adsp.h @@ -66,7 +66,7 @@ struct wm_adsp { wm_adsp1_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD)
#define WM_ADSP2(wname, num) \ - SND_SOC_DAPM_PGA_E(wname, SND_SOC_NOPM, num, 0, NULL, 0, \ + SND_SOC_DAPM_MIXER_E(wname, SND_SOC_NOPM, num, 0, NULL, 0, \ wm_adsp2_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD)
extern const struct snd_kcontrol_new wm_adsp1_fw_controls[];