分配 DMA 通道。
使用 ddi_dmae_getattr(9F) 检索系统的 DMA 引擎特性。
在内存中锁定 DMA 对象。请参见 physio(9F) 或 ddi_umem_lock(9F) 手册页。
为该对象分配 DMA 资源。
使用 ddi_dmae_prog(9F) 对系统 DMA 引擎进行编程,以执行传送。
执行所需的对象同步。
使用 ddi_dmae_stop(9F) 停止 DMA 引擎。
释放 DMA 资源。
取消分配 DMA 通道。
某些硬件平台会以特定于总线的方式限制 DMA 功能。驱动程序应使用 ddi_slaveonly(9F) 来确定设备是否位于可以执行 DMA 的插槽中。