dma_alloc_coherent()
返回一个存储任何数据的指针。此函数采用类型dma_addr_t
的变量,并用于DMA操作。所以我想在DMA操作开始之前读取这个值。
答案 0 :(得分:1)
根据DMA-API.txt dma_alloc_coherent()
返回CPU虚拟空间中的地址。同时dma_handle
是同一区域的地址,可由实际DMA 的设备使用。如果您想获得该值,只需将其用作可包含此值的整数,或者将其打印如下所示:
dma_addr_t handle; void *cpu_addr; cpu_addr = dma_alloc_coherent(…, &handle, …); pr_info("%s: got DMA address: %pad\n", __func__, &handle);