mirror of https://gitee.com/openkylin/linux.git
ASoC: wm_adsp: Disable DMAs before clearing the transfer length
This patch reorders the clearing of the DMA masks to avoid potential artefacts being introduced. Signed-off-by: Simon Trimmer <simont@opensource.wolfsonmicro.com> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
28ee3d7377
commit
6facd2d10f
|
@ -2366,13 +2366,15 @@ int wm_adsp2_event(struct snd_soc_dapm_widget *w,
|
||||||
dsp->running = false;
|
dsp->running = false;
|
||||||
|
|
||||||
regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL,
|
regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL,
|
||||||
ADSP2_SYS_ENA | ADSP2_CORE_ENA |
|
ADSP2_CORE_ENA | ADSP2_START, 0);
|
||||||
ADSP2_START, 0);
|
|
||||||
|
|
||||||
/* Make sure DMAs are quiesced */
|
/* Make sure DMAs are quiesced */
|
||||||
|
regmap_write(dsp->regmap, dsp->base + ADSP2_RDMA_CONFIG_1, 0);
|
||||||
regmap_write(dsp->regmap, dsp->base + ADSP2_WDMA_CONFIG_1, 0);
|
regmap_write(dsp->regmap, dsp->base + ADSP2_WDMA_CONFIG_1, 0);
|
||||||
regmap_write(dsp->regmap, dsp->base + ADSP2_WDMA_CONFIG_2, 0);
|
regmap_write(dsp->regmap, dsp->base + ADSP2_WDMA_CONFIG_2, 0);
|
||||||
regmap_write(dsp->regmap, dsp->base + ADSP2_RDMA_CONFIG_1, 0);
|
|
||||||
|
regmap_update_bits(dsp->regmap, dsp->base + ADSP2_CONTROL,
|
||||||
|
ADSP2_SYS_ENA, 0);
|
||||||
|
|
||||||
list_for_each_entry(ctl, &dsp->ctl_list, list)
|
list_for_each_entry(ctl, &dsp->ctl_list, list)
|
||||||
ctl->enabled = 0;
|
ctl->enabled = 0;
|
||||||
|
|
Loading…
Reference in New Issue