diff options
author | Subhransu S. Prusty <subhransu.s.prusty@intel.com> | 2015-07-10 22:18:43 +0530 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-07-16 21:46:50 +0100 |
commit | 6cb0033380ec6297589e68bfcf19aeda7ba95e99 (patch) | |
tree | bafa71d948a40360f87d8c3b86a975d31e9a1988 /sound/soc/intel | |
parent | 3e40a78461739d86fe1084c515ec227507ba993d (diff) | |
download | op-kernel-dev-6cb0033380ec6297589e68bfcf19aeda7ba95e99.zip op-kernel-dev-6cb0033380ec6297589e68bfcf19aeda7ba95e99.tar.gz |
ASoC: Intel: Skylake: Process code loader DMA interrupt
The code loader DMA interrupt is received by main interrupt handler which
dispatches it to cldma routines
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@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')
-rw-r--r-- | sound/soc/intel/skylake/skl-sst-dsp.c | 5 | ||||
-rw-r--r-- | sound/soc/intel/skylake/skl-sst-ipc.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl-sst-dsp.c b/sound/soc/intel/skylake/skl-sst-dsp.c index 313ca7c..94875b0 100644 --- a/sound/soc/intel/skylake/skl-sst-dsp.c +++ b/sound/soc/intel/skylake/skl-sst-dsp.c @@ -267,6 +267,11 @@ irqreturn_t skl_dsp_sst_interrupt(int irq, void *dev_id) result = IRQ_WAKE_THREAD; } + if (val & SKL_ADSPIS_CL_DMA) { + skl_cldma_int_disable(ctx); + result = IRQ_WAKE_THREAD; + } + spin_unlock(&ctx->spinlock); return result; diff --git a/sound/soc/intel/skylake/skl-sst-ipc.c b/sound/soc/intel/skylake/skl-sst-ipc.c index 94be6cb..bd5ac41 100644 --- a/sound/soc/intel/skylake/skl-sst-ipc.c +++ b/sound/soc/intel/skylake/skl-sst-ipc.c @@ -375,6 +375,9 @@ irqreturn_t skl_dsp_irq_thread_handler(int irq, void *context) u32 hipcie, hipct, hipcte; int ipc_irq = 0; + if (dsp->intr_status & SKL_ADSPIS_CL_DMA) + skl_cldma_process_intr(dsp); + /* Here we handle IPC interrupts only */ if (!(dsp->intr_status & SKL_ADSPIS_IPC)) return IRQ_NONE; |