mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
ASoC: rockchip: i2s-tdm: Reduce FIFO XRUN warning prompt
Warning once each time FIFO XRUN occurs, and then disable it, until the next time the stream resume. Before: rockchip_i2s_tdm_isr: 234 callbacks suppressed rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun ... cat /proc/interrupts | grep i2s 21: 514 0 0 0 0 0 0 0 GICv3 213 Level i2s After: rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun rockchip-i2s-tdm fe480000.i2s: TX FIFO Underrun cat /proc/interrupts | grep i2s 21: 4 0 0 0 0 0 0 0 GICv3 213 Level i2s Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com> Change-Id: Ibe3b07d94b31f421fd637296cb137d5ba1071fcc
This commit is contained in:
@@ -2158,6 +2158,9 @@ static irqreturn_t rockchip_i2s_tdm_isr(int irq, void *devid)
|
||||
dev_warn_ratelimited(i2s_tdm->dev, "TX FIFO Underrun\n");
|
||||
regmap_update_bits(i2s_tdm->regmap, I2S_INTCR,
|
||||
I2S_INTCR_TXUIC, I2S_INTCR_TXUIC);
|
||||
regmap_update_bits(i2s_tdm->regmap, I2S_INTCR,
|
||||
I2S_INTCR_TXUIE_MASK,
|
||||
I2S_INTCR_TXUIE(0));
|
||||
substream = i2s_tdm->substreams[SNDRV_PCM_STREAM_PLAYBACK];
|
||||
if (substream)
|
||||
snd_pcm_stop_xrun(substream);
|
||||
@@ -2167,6 +2170,9 @@ static irqreturn_t rockchip_i2s_tdm_isr(int irq, void *devid)
|
||||
dev_warn_ratelimited(i2s_tdm->dev, "RX FIFO Overrun\n");
|
||||
regmap_update_bits(i2s_tdm->regmap, I2S_INTCR,
|
||||
I2S_INTCR_RXOIC, I2S_INTCR_RXOIC);
|
||||
regmap_update_bits(i2s_tdm->regmap, I2S_INTCR,
|
||||
I2S_INTCR_RXOIE_MASK,
|
||||
I2S_INTCR_RXOIE(0));
|
||||
substream = i2s_tdm->substreams[SNDRV_PCM_STREAM_CAPTURE];
|
||||
if (substream)
|
||||
snd_pcm_stop_xrun(substream);
|
||||
|
||||
Reference in New Issue
Block a user