[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: [rtl] DMA and real time interrupts



Date sent:      	Mon, 28 Sep 1998 01:53:32 -0400
From:           	SteenbeckDigital <steenbeckdigital@compuserve.com>
Subject:        	[rtl] DMA and real time interrupts
To:             	"RtLinuX (rtl)" <rtl@rtlinux.cs.nmt.edu>

> 
> ----------------------eric keller wrote--------------------
> My question is, is it possible to port this code to rtlinux.
> (AD DA with DMA)
> 
> If so, has anyone used DMA? i found one message in the archive asking that
> question with no answer.
> -------------------------------------------------------------
> 
> Yes, I do DMA within RtLinux, but without any interrupt service. The trick
> is to set the
> Loop bit in the DMA controller and to poll the position (4times). So I get
> every byte 
> even on a busy machine :-). Second part of it is a rt_process that does
> rt_gettime() and
> dma_residue() to see when what came in / went out. No interrupt latency
> problem at all.
> (Source??)
> 
> !!!!! This is not portable to anything else than a PC !!!!!!!!
> 

It will work Ok if this is only thing on computer which is using DMA
(not counting IDE BM-DMA). Programing DMA controller requires
to write ports which are common for all channels of one DMA 
controller. Therefore if some driver in Linux kernel itself is using
DMA then it can mess up controller as such drivers will
use cli() before programing DMA controller, but this does not
prevent rt-linux drivers from accessing same ports
 
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail majordomo@rtlinux.cs.nmt.edu OR
echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.cs.nmt.edu
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/