Skip to content
  • Misael Lopez Cruz's avatar
    ASoC: davinci-mcasp: Add overrun/underrun event handling · a7a3324a
    Misael Lopez Cruz authored
    
    
    An underrun (playback) event occurs when the serializer transfer
    data from the XRBUF buffer to the XRSR shift register, but the
    XRBUF hasn't been filled. Similarly, the overrun (capture) event
    occurs when data from the XRSR shift register is transferred to
    the XRBUF but it hasn't been read yet.
    
    These events are handled as XRUN events that cause the pcm to stop.
    The stream has to be explicitly restarted by the userspace which
    ensures that after stopping/starting McASP the data transfer is
    aligned with DMA. The other possibility was to internally stop and
    start McASP without DMA even knowing about it.
    
    Signed-off-by: default avatarMisael Lopez Cruz <misael.lopez@ti.com>
    Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    a7a3324a