Date: Fri, 11 Jun 2010 12:36:16 -0600 From: Scott Long <scottl@samsco.org> To: pyunyh@gmail.com Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Marcel Moolenaar <xcllnt@mac.com>, src-committers@freebsd.org, John Baldwin <jhb@freebsd.org> Subject: Re: svn commit: r209026 - in head/sys/ia64: ia64 include Message-ID: <9CACE2BA-ACA1-44B5-A325-20F5A12BE187@samsco.org> In-Reply-To: <20100611183049.GH13776@michelle.cdnetworks.com> References: <201006110300.o5B30X9q045387@svn.freebsd.org> <9F065122-7D91-42E9-A251-5AF4AAF0B4E5@samsco.org> <20100611175016.GD13776@michelle.cdnetworks.com> <201006111420.46919.jhb@freebsd.org> <20100611183049.GH13776@michelle.cdnetworks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 11, 2010, at 12:30 PM, Pyun YongHyeon wrote: > On Fri, Jun 11, 2010 at 02:20:46PM -0400, John Baldwin wrote: >>>>>>=20 >>>>>> I'm not clear why you even need bounce buffers for RX. The chip=20= >> supports 64bit addresses with no boundary or alignment restrictions. >>>>>>=20 >>>>>=20 >>>>> Some controllers have 4G boundary bug so bge(4) restricts dma >>>>> address space. >>>>=20 >>>> That limitation should be reflected in the boundary attribute of = the tag,=20 >> not the lowaddr/highaddr attributes. >>>>=20 >>>=20 >>> Yes, but that needed more code. And I don't have these buggy >>> controllers so I chose more simple way that would work even though >>> it may be inefficient. >>=20 >> You can just use a 2GB boundary as a workaround. Look at what the = twa(4)=20 >> driver does to enforce a 4GB boundary for an example. >>=20 >=20 > I vaguely remember the problem was DMA memory allocated with > bus_dmamem_alloc(9) does not honor boundary argument so bge(4) had > to ensure the allocated memory is within 4GB. That might be true, in which case you should set the restriction on the = child tags that need it, not the parent tag. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9CACE2BA-ACA1-44B5-A325-20F5A12BE187>