svn commit: r199670 - head/sys/dev/bge
pyunyh at gmail.com
Mon Nov 23 20:53:53 UTC 2009
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
I have no idea how to address this specific issue on BCM5704
except allocating more size than needed descriptor size though.
More information about the svn-src-all