Subject: Re: FreeBSD Bus DMA (was Re: AdvanSys board support)
To: Justin T. Gibbs <firstname.lastname@example.org>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
Date: 06/11/1998 16:07:03
>In NetBSD, the dma map contains the S/G list of the mapping as well as
>any implementation private data required to perform the mapping.
No, I don't think that's so. The bus layer gets to decide on the
granularity of the dmamap, *not* the driver. What to you looks like a
signle "S/G list" entry could turn out to be multiple dmamap entries
-- e.g., one for each physically-contiguous page, or some other
granularity that's different from what the device thinks of as an s/g
list. (Of course, I could be mistaken, but that's the way i've been
designing a busdma layer.)
You keep talking about them both as s/g lists. I really cant tell if
that's carelessness or if you truly dont appreciate the difference.
>FreeBSD, the dma map contains only the implementation private data. The
>MI S/G list is provided only as an argument to the callback function during
>a load operation. The FreeBSD implementation completely separates the
>S/G list from the dma map, so I don't understand your concern about a
>mixture of the two terms or what they mean.
Justin, until you stop referring to dmamaps as "s/g" lists, I can't be
sure we are really talking about the same thing. for a technical
discussion, that's almost always fatal.