[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4d6cf5b7-8f47-4cb8-b302-c02f3b037d6d@sirena.org.uk>
Date: Mon, 20 Jan 2025 17:55:01 +0000
From: Mark Brown <broonie@...nel.org>
To: Vijendar Mukunda <Vijendar.Mukunda@....com>
Cc: alsa-devel@...a-project.org, lgirdwood@...il.com, perex@...ex.cz,
tiwai@...e.com, Basavaraj.Hiregoudar@....com,
Sunil-kumar.Dommati@....com, venkataprasad.potturu@....com,
Mario.Limonciello@....com, linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org
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...
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists