On Tue, 2012-10-16 at 10:17 +0800, Bob Liu wrote: > I think you need to declare that memory using > dma_declare_coherent_memory() before > alloc_from_coherent. This isn't true. Almost every platform has a mechanism for manufacturing coherent memory (in the worst case, they just turn off the CPU cache on a page and hand it out). The purpose of dma_declare_coherent_memory() is to allow a per device declaration of preferred regions ... usually because they reside either on the fast path to the device or sometimes on the device itself. There are only a handful of devices which need it, so in the ordinary course of events, dma_alloc_coherent() is used without any memory declaration. James -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>