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