ASoC: mediatek: Increase periods_min in capture
authorKoro Chen <koro.chen@mediatek.com>
Mon, 14 Sep 2015 06:51:17 +0000 (14:51 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 14 Sep 2015 17:13:54 +0000 (18:13 +0100)
commite4fba9b5be12d577d2e2c19fdca6b0744c3f271e
treea5baa4b7e21809e256239781d862b5a1dc0eb9d6
parent6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f
ASoC: mediatek: Increase periods_min in capture

In capture, there is chance that hw_ptr reported at IRQ is
a little smaller than period_size due to internal AFE buffer.
In the case of ping-pong buffer:

|xxxxxxxxxxxxxxxxxxxxxxxxxxxx--|-----------------------------|
                            hw_ptr < period_size

This available buffer will not be read since its size is smaller than
avail_min (which is period_size by default), and read thread continues
to sleep. If the next hw_ptr is just a little larger than buffer_size,
overrun occurs. One more period can hold the possible unread buffer.

Signed-off-by: Koro Chen <koro.chen@mediatek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/mediatek/mtk-afe-pcm.c