Subject: Re: FreeBSD Bus DMA
To: Jason Thorpe <firstname.lastname@example.org>
From: Justin T. Gibbs <email@example.com>
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 firstname.lastname@example.org
>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