• P
    ASoC: omap-mcpdm: Fix for full duplex audio use case · 81054b22
    Peter Ujfalusi 提交于
    Due to HW limitation within OMAP McPDM IP uplink and downlink need to be
    started at the same time. This causes issues when we have two streams
    running, for example:
    arecord | aplay
    
    In this case the playback stream would have no channels enabled since at the
    capture start we are not aware that a playback is going to start.
    
    The workaround is to configure the other direction to stereo when the first
    stream is started. When the second stream is coming we check the new stream's
    number of channels against the pre-configured channels. If it does not match
    we stop and restart McPDM to update the configuration. This might result a
    small pop. If the coming stream is a match we do nothing in the McPDM driver.
    
    This workaround can handle most use cases without the need to restart McPDM.
    Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
    81054b22
omap-mcpdm.c 14.5 KB