summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2016-03-15 12:09:25 +0100
committerMark Brown <broonie@kernel.org>2016-03-16 11:08:43 +0100
commit3f7f8489e25b180cf8de8a3ae3896b3f18fc4aa5 (patch)
treea29d1fd0c228f507f079198d95e7c98d0a8689b6 /sound
parentASoC: Intel: Skylake: free codec objects on removal (diff)
downloadlinux-3f7f8489e25b180cf8de8a3ae3896b3f18fc4aa5.tar.xz
linux-3f7f8489e25b180cf8de8a3ae3896b3f18fc4aa5.zip
ASoC: Intel: Skylake: Freeup properly on skl_dsp_free
We are supposed to freeup the Code loader DMA allocation and ensure all interrupts are disabled before we disable dsp cores. So invoke these to ensure DSP shuts down properly. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/intel/skylake/skl-sst-dsp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl-sst-dsp.c b/sound/soc/intel/skylake/skl-sst-dsp.c
index a5267e8a96e0..2962ef22fc84 100644
--- a/sound/soc/intel/skylake/skl-sst-dsp.c
+++ b/sound/soc/intel/skylake/skl-sst-dsp.c
@@ -336,6 +336,11 @@ void skl_dsp_free(struct sst_dsp *dsp)
skl_ipc_int_disable(dsp);
free_irq(dsp->irq, dsp);
+ dsp->cl_dev.ops.cl_cleanup_controller(dsp);
+ skl_cldma_int_disable(dsp);
+ skl_ipc_op_int_disable(dsp);
+ skl_ipc_int_disable(dsp);
+
skl_dsp_disable_core(dsp);
}
EXPORT_SYMBOL_GPL(skl_dsp_free);