[alsa-devel] [RFC 8/9] ASoC: hda: Add for CL DMA interrupt handling

Vinod Koul vinod.koul at intel.com
Fri Apr 17 15:16:06 CEST 2015


From: "Subhransu S. Prusty" <subhransu.s.prusty at intel.com>

DSP handles the Code Loader DMA interrupt.

Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty at intel.com>
Signed-off-by: Vinod Koul <vinod.koul at intel.com>
---
 include/sound/soc-hda-sst-dsp.h       |    1 +
 sound/soc/hda/intel/soc-hda-sst-dsp.c |    7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/include/sound/soc-hda-sst-dsp.h b/include/sound/soc-hda-sst-dsp.h
index 4549d6df2ed2..9adeb49cf126 100644
--- a/include/sound/soc-hda-sst-dsp.h
+++ b/include/sound/soc-hda-sst-dsp.h
@@ -261,5 +261,6 @@ int ssth_disable_dsp_core(struct ssth_lib  *ctx);
 bool ssth_dsp_is_running(struct ssth_lib *ctx);
 int ssth_cl_dma_prepare(struct ssth_lib *ctx);
 void ssth_process_cl_dma(struct work_struct *work);
+void ssth_cldma_int_disable(struct ssth_lib *ctx);
 
 #endif /*__HDA_SST_DSP_H__*/
diff --git a/sound/soc/hda/intel/soc-hda-sst-dsp.c b/sound/soc/hda/intel/soc-hda-sst-dsp.c
index 6285a6772e73..b133c63a0c20 100644
--- a/sound/soc/hda/intel/soc-hda-sst-dsp.c
+++ b/sound/soc/hda/intel/soc-hda-sst-dsp.c
@@ -423,6 +423,13 @@ static irqreturn_t ssth_interrupt(int irq, void *dev_id)
 		result = IRQ_HANDLED;
 	}
 
+	if (val & ADSPIS_CL_DMA) {
+		ssth_cldma_int_disable(ctx);
+		queue_work(ctx->intr_wq, &ctx->cl_dma_process_work);
+		result = IRQ_HANDLED;
+	}
+
+
 	spin_unlock(&ctx->reg_lock);
 	return result;
 }
-- 
1.7.9.5



More information about the Alsa-devel mailing list