Skip site navigation (1)Skip section navigation (2)
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>