dma_mmap_coherent函数可以将dma地址映射到用户态,通过应用程序直接操作dma地址。
实现应该分配一段dma地址,例如:
buf_addr = dmam_alloc_coherent(&pdev->dev, size, &dma_addr, GFP_KERNEL);
buf_addr 是内核态的虚拟地址,dma_addr是dma地址,它们都1对应同一段物理地址,即,已经建立了映射关系。
在
实现应该分配一段dma地址,例如:
buf_addr = dmam_alloc_coherent(&pdev->dev, size, &dma_addr, GFP_KERNEL);
buf_addr 是内核态的虚拟地址,dma_addr是dma地址,它们都1对应同一段物理地址,即,已经建立了映射关系。
在
道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。