diff options
-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 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) | |||
267 | result = IRQ_WAKE_THREAD; | 267 | result = IRQ_WAKE_THREAD; |
268 | } | 268 | } |
269 | 269 | ||
270 | if (val & SKL_ADSPIS_CL_DMA) { | ||
271 | skl_cldma_int_disable(ctx); | ||
272 | result = IRQ_WAKE_THREAD; | ||
273 | } | ||
274 | |||
270 | spin_unlock(&ctx->spinlock); | 275 | spin_unlock(&ctx->spinlock); |
271 | 276 | ||
272 | return result; | 277 | 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) | |||
375 | u32 hipcie, hipct, hipcte; | 375 | u32 hipcie, hipct, hipcte; |
376 | int ipc_irq = 0; | 376 | int ipc_irq = 0; |
377 | 377 | ||
378 | if (dsp->intr_status & SKL_ADSPIS_CL_DMA) | ||
379 | skl_cldma_process_intr(dsp); | ||
380 | |||
378 | /* Here we handle IPC interrupts only */ | 381 | /* Here we handle IPC interrupts only */ |
379 | if (!(dsp->intr_status & SKL_ADSPIS_IPC)) | 382 | if (!(dsp->intr_status & SKL_ADSPIS_IPC)) |
380 | return IRQ_NONE; | 383 | return IRQ_NONE; |