22 Jun
2015
22 Jun
'15
1:54 p.m.
Are all soc audio driver use cyclic dma ?
I'm not sure I understand the question. All audio drivers use some kind of cyclic DMA.
The ALSA API requires the driver to provide a cyclic sample buffer (or something that behaves like one).
However, not all hardware works this way. USB and FireWire require the driver to continually queue new packets, whose size and timing are determined by the bus clock and are not directly related to the ALSA ring buffer. These drivers use double buffering; the actual DMA happens from those packets, not from the ring buffer.
If those queued packets/urb cannot be rewind, snd_pcm_rewindable should return zero for those driver