Message ID | 1429276567-29007-9-git-send-email-vinod.koul@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Apr 17, 2015 at 06:46:06PM +0530, Vinod Koul wrote: > From: "Subhransu S. Prusty" <subhransu.s.prusty@intel.com> > > DSP handles the Code Loader DMA interrupt. Could this be squashed in with the thing that adds the work so we see the whole picture at once please?
On Fri, Apr 24, 2015 at 06:30:11PM +0100, Mark Brown wrote: > On Fri, Apr 17, 2015 at 06:46:06PM +0530, Vinod Koul wrote: > > From: "Subhransu S. Prusty" <subhransu.s.prusty@intel.com> > > > > DSP handles the Code Loader DMA interrupt. > > Could this be squashed in with the thing that adds the work so we see > the whole picture at once please? Sure... Thanks
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; }