mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
ASoC: amd: Handle ACP3x I2S-SP Interrupts.
Enabled support for I2S-SP interrupt handling. Previous to this implementation, driver supports only interrupts on BT instance. Signed-off-by: Ravulapati Vishnu vardhan rao <Vishnuvardhanrao.Ravulapati@amd.com> Link: https://lore.kernel.org/r/1577540460-21438-5-git-send-email-Vishnuvardhanrao.Ravulapati@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a43ea44ddd
commit
cea5f40d4e
1 changed files with 14 additions and 0 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue