• Nicolin Chen's avatar
    ASoC: fsl: Disable SSI in trigger() if RE/TE are both cleared · b2c119b0
    Nicolin Chen authored
    The code enabled SSIEN when triggered by SNDRV_PCM_TRIGGER_START,
    so move the disable code to SNDRV_PCM_TRIGGER_STOP for symmetric.
    
    This also allows us to use the SSI driver more flexible so that
    it can support some use cases like "aplay S16_LE.wav S24_LE.wav"
    which would call the driver in sequence like:
     startup()->hw_params(S16_LE)->trigger(START)->tirgger(STOP)->
     hw_params(S24_LE)->trigger(START)->tirgger(STOP)->shutdown()
    
    If we disable SSIEN in shutdown(), the second hw_params() would
    bypass the sample bits setting while using symmetric_rate.
    Signed-off-by: default avatarNicolin Chen <b42378@freescale.com>
    Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    b2c119b0
fsl_ssi.c 25.5 KB