提交 775bc971 编写于 作者: J Jassi Brar 提交者: Mark Brown

ASoC: Samsung: I2S: Flush FIFO after stop

Flush the FIFO while stopping the channel rather than starting.
This saves time during stream start and keeps the FIFOs clean
when the channel is idling.
Signed-off-by: NJassi Brar <jassi.brar@samsung.com>
Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 6ce534aa
......@@ -843,11 +843,6 @@ static int i2s_trigger(struct snd_pcm_substream *substream,
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
local_irq_save(flags);
if (capture)
i2s_fifo(i2s, FIC_RXFLUSH);
else
i2s_fifo(i2s, FIC_TXFLUSH);
if (config_setup(i2s)) {
local_irq_restore(flags);
return -EINVAL;
......@@ -870,6 +865,11 @@ static int i2s_trigger(struct snd_pcm_substream *substream,
else
i2s_txctrl(i2s, 0);
if (capture)
i2s_fifo(i2s, FIC_RXFLUSH);
else
i2s_fifo(i2s, FIC_TXFLUSH);
local_irq_restore(flags);
break;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册