RE: PCI64 Terminal (DMA) Block w/ Zero Length
"Ruth Sivilotti" <[email protected]> Mon, 24 Feb 2003 23:25:01 -0800
| Newsgroups | gmane.network.myrinet.general |
|---|---|
| Message-ID | <000c01c2dc9f$05d98f10$640ea8c0@RUTHXP> |
> wflawry wrote: > > > > > Looking at the PCI64 Programmer's Documentation, the DMA > > engine/controller does "nothing" for a non-terminal DMA block with > > zero length except the "DMA advances to the next block." Is this > > behavior well defined? Can one depend on the > > engine/controller setting the terminal bit on such a block > > before advancing? Or is the terminal bit always not set > > since there was no actual DMA for that block? > > > Based on some LANai 7's and test code, the terminal bit is > not set for > a zero-length dma, regardless of whether or not that > zero-length block > was the terminal block of a previous dma chain. > > Bill One of GM developers offers this: This is consistent with my understanding. By "nothing" in the docs really means "nothing". The terminal bit is not set. Zero length DMAs do NOT perform like normal DMAs excepting only that no data is transferred. Yes, it's a pain: you do have to treat zero length DMAs specially. ----- --Ruth