• Caleb Crome's avatar
    ASoC: fsl_ssi: set fifo watermark to more reliable value · 4ee437fb
    Caleb Crome authored
    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: default avatarCaleb Crome <caleb@crome.org>
    Reviewed-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    4ee437fb
fsl_ssi.c 48.8 KB