Subject: Re: On the subject of bus_dma(9)
To: Matthew Jacob <mjacob@feral.com>
From: Jason R Thorpe <thorpej@zembu.com>
List: tech-kern
Date: 03/07/2001 10:29:57
On Wed, Mar 07, 2001 at 10:21:42AM -0800, Matthew Jacob wrote:

 > > Where is the documentation on this interface that I can read?
 > 
 > Section 9, Solaris

That doesn't really help me very much.  I don't have ready access to
a Solaris machine on which to read these.

I need a URL or a .ps or .pdf document, or something.

 > "Sync operations" don't work for this platform in this way (it's not "Sync"
 > for the CPU in this case, it's "Sync for the device", therefore
 > bus_dmamem_alloc must return memory which is DMA coherent. We're in agreement
 > on this *if* we don't change the spec to give a hint earlier.

There is no reason to change the spec -- bus_dmamem_alloc() is defined
to DTRT.

Sounds basically like the sparc64 needs to always return memory which
is coherent from the device's perspective, and that the COHERENT flag
in bus_dma needs only be concerned with the (write-back) cached'ness of
memory from the CPU's perspective.

-- 
        -- Jason R. Thorpe <thorpej@zembu.com>