Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Nov 2009 22:00:31 +0100
From:      Joerg Sonnenberger <joerg@britannica.bec.de>
To:        Pyun YongHyeon <pyunyh@gmail.com>
Cc:        svn-src-all@freebsd.org
Subject:   Re: svn commit: r199670 - head/sys/dev/bge
Message-ID:  <20091123210031.GA18189@britannica.bec.de>
In-Reply-To: <20091123205324.GC1214@michelle.cdnetworks.com>
References:  <200911222050.nAMKoRYh029141@svn.freebsd.org> <20091123010511.GA14572@britannica.bec.de> <20091123205324.GC1214@michelle.cdnetworks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091123210031.GA18189>