【发布时间】:2013-08-02 10:42:32
【问题描述】:
我正在考虑为 DMA 事务分配缓冲区。我读到有两种方法可以做到这一点 - 连贯映射或流映射。
现在,我们需要缓存一致的缓冲区。但是,我们没有做任何分散/收集,所以我们想要dma_map_single 调用的好处。我们在 bootargs 中留出了一些连续内存,所以我们总是有足够的连续内存可用。
所以我想知道,我们可以用dma_alloc_coherent 返回的虚拟地址调用dma_alloc_coherent,然后调用dma_map_single 吗?然后将返回的 map single 的物理地址设置为 dma_alloc_coherent 在其调用中返回的 dma 句柄。
这有意义吗?还是这样做是多余的/不正确的?
【问题讨论】:
标签: linux-kernel linux-device-driver