Date: Thu, 13 Mar 1997 09:58:29 +0100 (MET) From: Emmanuel Duros <eduros@chouette.inria.fr> To: freebsd-hackers@FreeBSD.ORG Cc: pplc@chouette.inria.fr Subject: Re: Pb using DMA - Physical addressing Message-ID: <199703130858.JAA08587@chouette.inria.fr> In-Reply-To: <199703111528.JAA13632@jake.lodgenet.com> (erich@lodgenet.com)
next in thread | previous in thread | raw e-mail | index | archive | help
Eric L. Hernes writes:
>>I am currently writing a device driver (isa bus) for a communication
>>card (satellite reception/emission cards) that uses DMA transfers.
>>
>>....
>
>isa_dma{_acquire,_release,start,done} are your friends,
>have a look at sys/i386/isa/isa.c
That's right we can easily handle DMA transfer with the set of functions
given in sys/i386/isa/isa.c and it works fine. No need to worry about
converting virtual addresses into physical addresses, DMA addressing
<16M, ...
However I had to add another function in sys/i386/isa/isa.c which I
called isa_dmastart_blk() in order to support the block transfer
mode. Could this feature be added to future FreeBSD releases ?
(isa_dmastart() only support single and autoinitialize transfer mode)
Joerg Wunsch writes:
>Watch out for the isa_dma* functions.
>(Once you figured out how to use them, please do us a favor and write
>a man page! I think we can even accept a stub page, so someone else
>could fill in the blanks for the hairy troff macro details.)
Unfortunately this month I do not have much time, however as soon as I
have less things to do I will !
Emmanuel
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703130858.JAA08587>
