• Timur Tabi's avatar
    ASoC: improve asynchronous mode support in the fsl_ssi driver · 5e538eca
    Timur Tabi authored
    The Freescale SSI audio controller supports "synchronous" and "asynchronous"
    modes.  In synchronous mode, playback and capture use the same input clock,
    so sample rates must be the same during simultaneous playback and capture.
    Unfortunately, the code which supports asynchronous mode is just broken in
    various ways.  In particular, it was constraining sample sizes as well as
    the sample rate.
    
    The fix also allows us to simplify the code by eliminating the 'asynchronous',
    'playback', and 'capture' variables that were used to keep track of playback
    and capture streams.
    
    Unfortunately, it turns out that simulataneous playback and record does not
    actually work on the only platform that supports asynchronous mode: the
    Freescale P1022DS reference board.  If a second stream is started, the SSI
    grinds to halt for both streams.  This is true even if the P1022 is configured
    for synchronous mode, so it's likely a hardware problem that needs to be
    worked around.
    Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
    Acked-by: default avatarLiam Girdwood <lrg@ti.com>
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    5e538eca
fsl_ssi.c 22.3 KB