king00star
驱动牛犊
驱动牛犊
  • 注册日期2006-08-17
  • 最后登录2014-04-19
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望92点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
阅读:1152回复:0

PCI DMA映射寄存器的数量为什么不能超过8?

楼主#
更多 发布于:2007-12-15 09:44
自己做的DM642 PCI板卡。驱动按照Walter oney中所写。

DMA初始化的时候为什么返回映射寄存器的数量不超过8?

DEVICE_DESCRIPTION dd;
RtlZeroMemory(&dd, sizeof(dd));
dd.Version = DEVICE_DESCRIPTION_VERSION;  
dd.Master = TRUE;  
dd.Dma32BitAddresses = TRUE;
dd.InterfaceType = PCIBus;
dd.MaximumLength = 0xF000;
pdx->AdapterObject = IoGetDmaAdapter(pdx->Pdo, &dd,  &pdx->nMapRegisters);

nMapRegisters应该等于 (缓冲区字节长度/4096 + 1) 吧? 可是无论dd.MaximumLength修改为多大,返回的pdx->nMapRegisters最大始终等于8,换了好几台机器都是这样。

需要哪里做什么设置吗?
游客

返回顶部