newluck
驱动牛犊
驱动牛犊
  • 注册日期2004-10-27
  • 最后登录2005-01-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1092回复:1

求助ds PCI的问题

楼主#
更多 发布于:2004-11-23 19:27
关于ds的问题,武那本书中PCI章节的问题:
一 :m_CurrentTransfer->Initiate(
...
I.Mdl(),
...
linkTo(OnDmaReady),
...
)
Initiate的作用是不是就是去执行OnDmaReady函数?I.Mdl()在里面作为参数的作用是什么?

二: Dma有block和scatter/gather方式,怎么在驱动程序确定的?
三: VOID DMASampleDevice:Dpc_Isr(Arg1,Arg2)
{ m_CurrentTransfer->Continue() }
Arg1,Arg2干什么用的? 我们知道dma传输完成后会产生中断,
执行Isr,然后调用Dpc,Continue()干什么用?难道是pci<->local传输完毕把数据读到应用程序?
四: pXfer->SequenceTransferDesciptor() 是取得下一个描述符,什么作用呢?




 
jerrygod
驱动牛犊
驱动牛犊
  • 注册日期2004-09-13
  • 最后登录2006-07-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-25 19:19
1。将ONDMAREADY与TRANSFER类联系起来,当进行传输的时候就调用ONDMAREADY。
2。DDK中有个结构 DEVICE_DESCRIPTION,当用它定义一个对象是,只要指定DEVICE_DESCRIPTION dd, dd。ScatterGather=FLASE 是就不用scatter/gather方式
3。如果使用scatter/gather方式,CONTINUE 将传输S/G链表指的下个表所指的数据,在block中就直接结束当前传输,并释放ADAPTER
4。scatter/gather方式用
游客

返回顶部