Messages in this thread |  | | Date | Mon, 20 Jan 2025 17:55:01 +0000 | | From | Mark Brown <> | | Subject | Re: [PATCH V2 12/23] ASoC: amd: acp70: add acp ip interrupt handler |
| |
On Mon, Jan 20, 2025 at 03:31:19PM +0530, Vijendar Mukunda wrote:
> +static irqreturn_t acp70_irq_thread(int irq, void *context) > +{ > + struct sdw_dma_dev_data *sdw_dma_data; > + struct acp70_dev_data *adata = context; > + u32 stream_index; > + > + sdw_dma_data = dev_get_drvdata(&adata->sdw_dma_dev->dev); > + > + for (stream_index = 0; stream_index < ACP70_SDW0_DMA_MAX_STREAMS; stream_index++) { > + if (adata->sdw0_dma_intr_stat[stream_index]) { > + if (sdw_dma_data->sdw0_dma_stream[stream_index]) > + snd_pcm_period_elapsed(sdw_dma_data->sdw0_dma_stream[stream_index]); > + adata->sdw0_dma_intr_stat[stream_index] = 0; > + } > + } > + for (stream_index = 0; stream_index < ACP70_SDW1_DMA_MAX_STREAMS; stream_index++) { > + if (adata->sdw1_dma_intr_stat[stream_index]) { > + if (sdw_dma_data->sdw1_dma_stream[stream_index]) > + snd_pcm_period_elapsed(sdw_dma_data->sdw1_dma_stream[stream_index]); > + adata->sdw1_dma_intr_stat[stream_index] = 0; > + } > + } > + return IRQ_HANDLED; > +}
I appreciate that this pattern is already (identically...) in the ps driver but I'm not seeing anything here that looks like it can't run in interrupt context - is there a special reason for deferring to thread context?
> +static irqreturn_t acp70_irq_handler(int irq, void *dev_id) > +{
This really does seem *very* similar to the acp63 code... [unhandled content-type:application/pgp-signature] |  |