<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 15, 2021 at 7:24 AM Fons Adriaensen <<a href="mailto:fons@linuxaudio.org">fons@linuxaudio.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sat, May 15, 2021 at 06:49:28AM -0600, Paul Davis wrote:<br>
<br>
> Also, at that time, ALSA didn't yet properly support the mmap'ed mode ...<br>
> it was under development but not finished (as evidenced by the way it could<br>
> not handle non-interleaved devices like the RME digi series.<br>
<br>
That's another thing that puzzles me...<br>
<br>
At the time audio cards like the RMEs would be sitting on a PCI bus,<br>
and the mmap area could/would be actual hardware buffers.<br>
So then, mmapped mode would be the 'natural' way, with read()/write()<br>
being implemented on top of it. But apparently it was the other way<br>
around...<br></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">That's what was changing in the late 1990s. Before "DMA-capable" audio interfaces, you needed special data transfer operations to get data to/from the audio interface. By 2000-2002, that mostly went away, and they were all DMA capable. ALSA evolved to accommodate this, but there had been no reason to focus on mmap-style access before then.<br></div><br></div><div> </div></div></div>