diff options
author | Jeeja KP <jeeja.kp@intel.com> | 2015-10-09 09:01:50 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-10-09 11:19:00 +0100 |
commit | 84c9e2836aa7c87b19a24de091c7e7cf16124645 (patch) | |
tree | fc824b93e63993c011802311b27316511460d4e4 /sound/soc/intel/skylake/skl-sst-ipc.c | |
parent | def656fe22abb4fbf174a982dcef1d40274ddb11 (diff) | |
download | linux-stable-84c9e2836aa7c87b19a24de091c7e7cf16124645.tar.gz linux-stable-84c9e2836aa7c87b19a24de091c7e7cf16124645.tar.bz2 linux-stable-84c9e2836aa7c87b19a24de091c7e7cf16124645.zip |
ASoC: Intel: Skylake: Correct the runtime handler behaviour
On runtime pm resume, we need to download the firmware, also on
suspend we need to ensure all the interrupts from controller and
DSP are disabled.
Also since we download the firmware on resume, we don't need to do
so on init, so remove that bit
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/soc/intel/skylake/skl-sst-ipc.c')
-rw-r--r-- | sound/soc/intel/skylake/skl-sst-ipc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl-sst-ipc.c b/sound/soc/intel/skylake/skl-sst-ipc.c index 937a0a3a63a0..3345ea0d4414 100644 --- a/sound/soc/intel/skylake/skl-sst-ipc.c +++ b/sound/soc/intel/skylake/skl-sst-ipc.c @@ -464,6 +464,18 @@ void skl_ipc_op_int_enable(struct sst_dsp *ctx) SKL_ADSP_REG_HIPCCTL_BUSY, SKL_ADSP_REG_HIPCCTL_BUSY); } +void skl_ipc_op_int_disable(struct sst_dsp *ctx) +{ + /* disable IPC DONE interrupt */ + sst_dsp_shim_update_bits_unlocked(ctx, SKL_ADSP_REG_HIPCCTL, + SKL_ADSP_REG_HIPCCTL_DONE, 0); + + /* Disable IPC BUSY interrupt */ + sst_dsp_shim_update_bits_unlocked(ctx, SKL_ADSP_REG_HIPCCTL, + SKL_ADSP_REG_HIPCCTL_BUSY, 0); + +} + bool skl_ipc_int_status(struct sst_dsp *ctx) { return sst_dsp_shim_read_unlocked(ctx, |