Subject: Re: FreeBSD Bus DMA
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Justin T. Gibbs <gibbs@plutotech.com>
List: tech-kern
Date: 06/11/1998 17:32:46
> > one of the things Justin added was a driver-specific filter function.
> > Justin says that's a better way to detect mappings that oculd tickle
> > driver bugs.  VLB buslogic boards were given as a specific example; it
> > sounds plausible to me.  (I'd assume that if NetBSD added this, the
> > filter argument would be NULL in almost all cases).
>
>The only VLB BusLogic bug I'm aware of is the inability to properly
>do DMA using 32-bit addresses.  Our driver currently handles that case.

That is an oversimplification.  There are two problems with the VLB cards.
DMA to pages above 16MB that fall into a "mirror" of the BIOS window fail
on some revisions.  The other is that transfers that wrap a 16MB boundary
additionally fail on other early versions.  Bouncing all memory above 16MB
is a "sledgehammer" approach to fixing these problems.

>Jason R. Thorpe                                       thorpej@nas.nasa.gov
>NASA Ames Research Center                            Home: +1 408 866 1912
>NAS: M/S 258-5                                       Work: +1 650 604 0935
>Moffett Field, CA 94035                             Pager: +1 650 428 6939

--
Justin