]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: fsl_ssi: set fifo watermark to more reliable value
authorCaleb Crome <caleb@crome.org>
Tue, 3 Jan 2017 18:22:57 +0000 (10:22 -0800)
committerMark Brown <broonie@kernel.org>
Wed, 4 Jan 2017 18:27:17 +0000 (18:27 +0000)
commitd0db4e971528455f3e64b8c70013c10ecf3f7a02
tree46aedb493db2c9603200bae5d784b2915f164300
parent8cd2b40dad6f118d7287346f538ebda48662ad53
ASoC: fsl_ssi: set fifo watermark to more reliable value

The fsl_ssi fifo watermark is by default set to 2 free spaces (i.e.
activate DMA on FIFO when only 2 spaces are left.)  This means the
DMA must service the fifo within 2 audio samples, which is just not
enough time  for many use cases with high data rate.  In many
configurations the audio channel slips (causing l/r swap in stereo
configurations, or channel slipping in multi-channel configurations).

This patch gives more breathing room and allows the SSI to operate
reliably by changing the fifio refill watermark to 8.

There is no change in behavior for older chips (with an 8-deep fifo).
Only the newer chips with a 15-deep fifo get the new behavior. I
suspect a new fifo depth setting could be optimized on the older
chips too, but I have not tested.

Signed-off-by: Caleb Crome <caleb@crome.org>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_ssi.c