On 2017/11/7 23:48, Jason Gunthorpe wrote: > On Tue, Nov 07, 2017 at 10:45:29AM +0800, Wei Hu (Xavier) wrote: > >> We reconstruct the code as below: >> It replaces dma_alloc_coherent with __get_free_pages and >> dma_map_single functions. So, we can vmap serveral ptrs returned by >> __get_free_pages, right? > Can't you just use vmalloc and dma_map that? Other drivers follow that > approach.. > > However, dma_alloc_coherent and dma_map_single are not the same > thing. You can't touch the vmap memory once you call dma_map unless > the driver also includes dma cache flushing calls in all the right > places. > > The difference is that alloc_coherent will return non-cachable memory > if necessary, while get_free_pages does not. > > Jason Hi, Jason Thanks for your suggestion. We will fix it. Regards Wei Hu > > . > -- 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>