On Mon, Nov 23, 2009 at 12:53:24PM -0800, Pyun YongHyeon wrote: > On Mon, Nov 23, 2009 at 02:05:11AM +0100, Joerg Sonnenberger wrote: > > On Sun, Nov 22, 2009 at 08:50:27PM +0000, Pyun YongHyeon wrote: > > > Log: > > > Fix two long standing bugs on bge(4). Most pre BCM5755 controllers > > > have a DMA bug when buffer address crosses a multiple of the 4GB > > > boundary(e.g. 4GB, 8GB, 12GB etc). > > > > Does this only affect transfers that *cross* a 4GB boundary or does it > > also affect transfers that *end* at a 4GB boundary? E.g. if the mbuf > > cluster starts at 0xffffff00 with size 0x100 -- will the DMA engine > > stall happen or not? > > > > AFAIK publicly available datasheet explicitly mentions 4GB boundary > limitation(page 153). For BCM5704 case, the datasheet also says > buffer descriptors that ends exactly on any multiple of 4GB, > BCM5704 will generate host address overflow error even though the > buffer descriptor does not actually cross over the 4GB boundary > (page 213).
I'm asking because the case of crossing the 4GB boundary could be handled transparently via scatter/gather register. If the address overflow happens for the boundary, a work-around in the bus-dma layer would still be applied easy when scatter/gather is supported by the device to bounce the last cache line or so. Joerg _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"