Subject: Re: FreeBSD Bus DMA (was Re: AdvanSys board support)
To: Justin T. Gibbs <>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-kern
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.