LWN.net Logo

A better DMA memory allocator

A better DMA memory allocator

Posted Mar 15, 2008 1:04 UTC (Sat) by iabervon (subscriber, #722)
Parent article: A better DMA memory allocator

I seem to recall that there are actually devices out there whose mask of addresses they can
use for DMA actually does have holes in it, due to some of their address lines being miswired
or something like that. It's hard to come up with a hardware quirk that's so nonsensical that
there isn't hardware that manages to have it.


(Log in to post comments)

Why it's a "mask" ...

Posted Mar 20, 2008 7:29 UTC (Thu) by HalfMoon (guest, #3211) [Link]

The classic example of that is that SA-1100 (old ARMv4, no longer manufactured) DMA controller had an erratum which meant that one address bit could never be used ... every other MByte was unusable for DMA. So this is a case where the functionality of a DMA address "mask" was appropriate, instead of just a "biggest address" value. Intel never fixed that bug (or a boatload of others in that chip).

It escapes me why Linux calls what it has a "mask"; it's long overdue to change its name to reflect the fact that it's just a ceiling on the addresses usable for DMA. Calling it a "mask" makes it seem like the complete inability to handle that SA-1100 erratum is a bug.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds