Subject: Re: how to do without function bus_dmamap_load_uio() ?
To: Esha <esha@sharada.ncore.soft.net>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-kern
Date: 01/06/1999 09:35:41
On Wed, 06 Jan 1999 18:41:03 +0530 
 Esha <esha@sharada.ncore.soft.net> wrote:

 > Hi,
 > 
 > If  the bus_dmamap_load_uio() is not there in 1.3.3 then is the
 > following way correct ?
 > 
 > call bus_dmamem_alloc()
 > 
 > call bus_dmamem_map()
 > 
 > pass the dma-safe address to the user through mmap entry point.
 > 
 > 
 > Is the above idea correct ?

That is certainly one way you could do it, yes.  Note, memory mapped into
DMA space with bus_dmamap_load_uio() is not necessarily DMA-safe; it's
whatever random memory the application happened to have.  So, the operations
are not really equivalent, but the latter will work fine, but may just be
less convenient for you.

(DMA-mapping non-DMA-safe memory happens all the time, BTW; it just may need
special handling by the bus_dma backends...)

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 940 5942