对于总线主控器 DMA,驱动程序应执行以下步骤:
描述 DMA 特性。通过此步骤,例程可确保设备能够访问缓冲区。
分配 DMA 句柄。
确保 DMA 对象已在内存中锁定。请参见 physio(9F) 或 ddi_umem_lock(9F) 手册页。
为该对象分配 DMA 资源。
对设备的 DMA 引擎进行编程。
启动引擎。
传送完成后,继续执行总线主控器操作。
执行所需的对象同步。
释放 DMA 资源。
释放 DMA 句柄。