[alsa-devel] [PATCH 5/7] ASoC: Intel: Skylake: Process code loader DMA interrupt
Vinod Koul
vinod.koul at intel.com
Fri Jul 10 18:48:43 CEST 2015
From: "Subhransu S. Prusty" <subhransu.s.prusty at intel.com>
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 at intel.com>
Signed-off-by: Vinod Koul <vinod.koul at intel.com>
---
sound/soc/intel/skylake/skl-sst-dsp.c | 5 +++++
sound/soc/intel/skylake/skl-sst-ipc.c | 3 +++
2 files changed, 8 insertions(+)
diff --git a/sound/soc/intel/skylake/skl-sst-dsp.c b/sound/soc/intel/skylake/skl-sst-dsp.c
index 313ca7c6ca7f..94875b008b0b 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 94be6cbf2698..bd5ac4165151 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;
--
1.9.1
More information about the Alsa-devel
mailing list