仅对英特尔可见 — GUID: lbl1461172983090
Ixiasoft
5.11.2. 写DMA描述符控制器寄存器
地址偏移 |
寄存器 |
访问权限 |
说明 |
---|---|---|---|
0x0100 |
RC Write Status and Descriptor Base (Low) | R/W |
指定根复合存储器中读状态基址下32-bit及描述符列表。此地址必须位于32字节边界。编程位于偏移0x104的上32 bits后,内部软件必须编程此寄存器。要更改RC Write Status and Descriptor Base (Low)基地址,就必须用完RD_TABLE_SIZE指定的所有描述符。 |
0x0104 |
RC Write Status and Descriptor Base (High) | R/W |
指定根复合存储器中写状态基址上32-bit及描述符列表。在偏移0x100上编程此寄存器下32位以前,软件必须编程此寄存器。 |
0x0108 |
EP Write Status and Descriptor FIFO Base (Low) | RW |
在端点存储器写描述符列表中指定基址的下32-bit。Write DMA描述符控制器向根复合存储器请求描述符并把描述符写入该位置。此地址必定是通过Read DMA Avalon-MM主端口看到的描述符控制器Write描述符列表中Avalon-MM从端口的Avalon-MM地址。编程偏移0x10C的上32-bit寄存器后必须编程此寄存器。 |
0x010C |
EP Write Status and Descriptor FIFO Base (High) | RW |
指定端点存储器中写描述符列表基地址上32位。读DMA从根复合存储器取回列表并把列表写入该位置。在偏移0x108上编程此寄存器下32-bit以前,软件必须编程此寄存器。 |
0x0110 |
WR_DMA_LAST_PTR | RW |
读取时,返回所请求的最后一个描述符ID。如果无未处理的DMA请求或者DMA处于复位中,就返回一个值0xFF。 写入时,被写入时,指定所请求最后一个描述符的ID。读取值和写入值的不同在于待处理的描述符个数 例如,如果读取值为4,所请求的最后一个描述符就为4。要多指定5个描述符,软件应该把9写入RD_DMA_LAST_PTR寄存器。DMA就多执行5个描述符。 要获得读DMA记录中每个描述符的done位,编程此寄存器每次仅传输一个描述符。 到达WR_TABLE_SIZE后,Descriptor ID环回到0。 例如,如果RD_TABLE_SIZE值读为126,且您想再多执行3个描述符,软件必须写127,然后写1到RD_DMA_LAST_PTR寄存器中。 |
0x0114 | WR_TABLE_SIZE | RW |
指定Read描述符列表的大小。根据描述符的代码设置-1。默认情况下,RD_TABLE_SIZE被设置为127。该值指定最后一个Descriptor ID。要更改RC Read Status and Descriptor Base (Low)基地址,必须用完RD_TABLE_SIZE指定的所有描述符。 |
0x0118 | WR_CONTROL | RW |
[31:1]已保留。 [0]Done。设置后,设置后,描述符控制器为状态列表里的每个描述符写Done位。完成最后一个描述符后,描述符控制器发送单个MSI中断。当最后一个描述符没有生成Done时,就由WR_DMA_LAST_PTR指定。 |