dmam_alloc_coherent的dma_handle和返回值有什么区别
时间: 2023-08-08 18:10:24 浏览: 128
驱油用AM-AMPS-DMAM三元共聚物的合成及性能评价
`dma_alloc_coherent`函数是用于在DMA可访问的物理内存区域中分配一段连续的内存空间。该函数分配的内存是物理连续的,并且还为该内存分配了一个DMA映射地址,以便DMA引擎可以直接访问该内存,而不需要CPU的干预。
`dma_alloc_coherent`函数有两个返回值:一个是分配的内存指针,另一个是DMA映射地址。这两个返回值都是很重要的。分配的内存指针用于在驱动程序中访问该内存区域,而DMA映射地址用于将该内存区域映射到DMA引擎中。
`dma_handle`是用于标识DMA映射的句柄,它是由`dma_map_single`或`dma_map_sg`函数返回的。该句柄用于在DMA操作完成后,通知DMA引擎解除对该内存区域的访问。`dma_handle`与`dma_alloc_coherent`的返回值不同,`dma_alloc_coherent`的返回值是一个指针,而`dma_handle`是一个整数类型的句柄。
阅读全文