[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a4be9768-165d-0a4d-411c-45e80b431cb6@amd.com>
Date: Fri, 25 Oct 2019 07:07:57 +0000
From: vishnu <vravulap@....com>
To: "RAVULAPATI, VISHNU VARDHAN RAO"
<Vishnuvardhanrao.Ravulapati@....com>
CC: "Deucher, Alexander" <Alexander.Deucher@....com>,
Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
"Mukunda, Vijendar" <Vijendar.Mukunda@....com>,
Maruthi Bayyavarapu <maruthi.bayyavarapu@....com>,
YueHaibing <yuehaibing@...wei.com>,
Colin Ian King <colin.king@...onical.com>,
Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>,
"moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..."
<alsa-devel@...a-project.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 5/7] ASoC: amd: handle ACP3x i2s-sp watermark interrupt.
Hi Mark,
Any updates on this patch.
Regards,
Vishnu
On 19/10/19 2:35 AM, Ravulapati Vishnu vardhan rao wrote:
> whenever audio data equal to I2S-SP fifo watermark level is
> produced/consumed, interrupt is generated.
>
> Signed-off-by: Ravulapati Vishnu vardhan rao <Vishnuvardhanrao.Ravulapati@....com>
> ---
> sound/soc/amd/raven/acp3x-pcm-dma.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/sound/soc/amd/raven/acp3x-pcm-dma.c b/sound/soc/amd/raven/acp3x-pcm-dma.c
> index 4fcef3f..a000ac4 100644
> --- a/sound/soc/amd/raven/acp3x-pcm-dma.c
> +++ b/sound/soc/amd/raven/acp3x-pcm-dma.c
> @@ -176,6 +176,13 @@ static irqreturn_t i2s_irq_handler(int irq, void *dev_id)
> snd_pcm_period_elapsed(rv_i2s_data->play_stream);
> play_flag = 1;
> }
> + if ((val & BIT(I2S_TX_THRESHOLD)) &&
> + rv_i2s_data->i2ssp_play_stream) {
> + rv_writel(BIT(I2S_TX_THRESHOLD),
> + rv_i2s_data->acp3x_base + mmACP_EXTERNAL_INTR_STAT);
> + snd_pcm_period_elapsed(rv_i2s_data->i2ssp_play_stream);
> + play_flag = 1;
> + }
>
> if ((val & BIT(BT_RX_THRESHOLD)) && rv_i2s_data->capture_stream) {
> rv_writel(BIT(BT_RX_THRESHOLD), rv_i2s_data->acp3x_base +
> @@ -183,6 +190,13 @@ static irqreturn_t i2s_irq_handler(int irq, void *dev_id)
> snd_pcm_period_elapsed(rv_i2s_data->capture_stream);
> cap_flag = 1;
> }
> + if ((val & BIT(I2S_RX_THRESHOLD)) &&
> + rv_i2s_data->i2ssp_capture_stream) {
> + rv_writel(BIT(I2S_RX_THRESHOLD),
> + rv_i2s_data->acp3x_base + mmACP_EXTERNAL_INTR_STAT);
> + snd_pcm_period_elapsed(rv_i2s_data->i2ssp_capture_stream);
> + cap_flag = 1;
> + }
>
> if (play_flag | cap_flag)
> return IRQ_HANDLED;
>
Powered by blists - more mailing lists