编写设备驱动程序

执行第一方 DMA 传送

对于第一方 DMA,驱动程序应执行以下步骤:

  1. 分配 DMA 通道。

  2. 使用 ddi_dmae_1stparty(9F) 配置通道。

  3. 确保 DMA 对象已在内存中锁定。请参见 physio(9F)ddi_umem_lock(9F) 手册页。

  4. 为该对象分配 DMA 资源。

  5. 对设备的 DMA 引擎进行编程。

  6. 启动引擎。

  7. 传送完成后,继续执行总线主控器操作。

  8. 执行所需的对象同步。

  9. 释放 DMA 资源。

  10. 取消分配 DMA 通道。