编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

执行总线主控器 DMA 传送

对于总线主控器 DMA,驱动程序应执行以下步骤:

  1. 描述 DMA 特性。通过此步骤,例程可确保设备能够访问缓冲区。

  2. 分配 DMA 句柄。

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

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

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

  6. 启动引擎。

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

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

  9. 释放 DMA 资源。

  10. 释放 DMA 句柄。