Subject: Re: Rev 1.19 of busdma.doc
To: None <mjacob@feral.com>
From: Chris G Demetriou <Chris_G_Demetriou@ux2.sp.cs.cmu.edu>
List: tech-kern
Date: 11/09/1996 23:08:27
> So, you cannot perform DMA on memory you can't get a KVA to then.
>
> Spock to Captain: Is this wise? :-)
I didn't say that (however, it's not clear to me what a good
bus-independent interface for it would be... but more on that in a bit).
The purpose of the dmamem_alloc functions (which is exactly what i was
describing, and nothing more) is to alleviate the need for "contiguous
malloc" functions.
Lots of things need to allocate contiguous (or somewhat congtiguous;
see the args to dmamem_alloc) memory for use as DMA-able buffer space.
Also, any device that wants to use the same buffer(s) lots of times,
and wants to make sure that it isn't paying the expense of
bounce-buffering (or can't pay that expense) should be using
dmamem_alloc.
The examples that I can think of that would want to use this
interface are:
(1) on-board LANCE interfaces on those DEC boxes which don't
have memory supplied for the LANCE, i.e. where the OS
supplies the DMA buffer.
(2) many audio drivers.
cgd