From owner-svn-src-all@FreeBSD.ORG Mon Nov 23 21:00:46 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A5B11065672 for ; Mon, 23 Nov 2009 21:00:46 +0000 (UTC) (envelope-from joerg@britannica.bec.de) Received: from www.sonnenberger.org (www.sonnenberger.org [92.79.50.50]) by mx1.freebsd.org (Postfix) with ESMTP id 853798FC1E for ; Mon, 23 Nov 2009 21:00:45 +0000 (UTC) Received: from britannica.bec.de (www.sonnenberger.org [192.168.1.10]) by www.sonnenberger.org (Postfix) with ESMTP id 5FACF666BC; Mon, 23 Nov 2009 22:00:44 +0100 (CET) Received: by britannica.bec.de (Postfix, from userid 1000) id 4034915C36; Mon, 23 Nov 2009 22:00:31 +0100 (CET) Date: Mon, 23 Nov 2009 22:00:31 +0100 From: Joerg Sonnenberger To: Pyun YongHyeon Message-ID: <20091123210031.GA18189@britannica.bec.de> References: <200911222050.nAMKoRYh029141@svn.freebsd.org> <20091123010511.GA14572@britannica.bec.de> <20091123205324.GC1214@michelle.cdnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091123205324.GC1214@michelle.cdnetworks.com> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: svn-src-all@freebsd.org Subject: Re: svn commit: r199670 - head/sys/dev/bge X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 21:00:46 -0000 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