kmalloc申请的内存不能用于DMA
我在使用kmalloc申请一段内存,然后启动DMA从设备传输数据到该段内存,但是没有什么效果。 但是,当我使用dma_alloc_writecombine或者dma_alloc_coherent来申请内存时,传输的结果就是正确的。但是就有这样一个问题,dma_alloc_writecombine或者dma_alloc_coherent申请的内存是会关闭cache,所以操作起来会很慢。能不能用DMA来传输kamlloc的内存呢?声明一下,我是嵌入式linux arm架构下做的开发。