Using a DMA controller

Philipp Hasse <[email protected]> Wed, 02 Feb 2005 10:54:39 +0100
Newsgroups gmane.linux.real-time.rtlinux.general
Message-ID <[email protected]>
Hi,

I have to apologize for this email to be off-topic but I searched the 
Internet for this and haven't found suitable informations. I would be 
very pleased if someone of you could help me.
The driver of a PCI card uses direct access to one of the card's 
register located in memory to transfer data. That is, a block of data 
will be copied to the card using the following scheme:
1. Write the number of data words to the register
2. Write the data words, one after the other, to the same register
Of course this is time expensive and as the application needs every time 
it could get for calculating in a RT-Task it would be a great solution 
if the data transfer could be done by a DMA controller.
As far as I know it is neccessary to program two or three registers of 
the DMA controller to initiate a DMA transfer.
Is it possible to program the DMA controller to perform the transfer 
described above, to transfer a specific number of data words to one and 
the same address located in memory (which is mapped into memory from a 
PCI card)? Will this gain CPU time for the calculation task?

Maybe someone knows a good DMA programming guide or could help me with this?

Many thanks
Philipp Hasse

_______________________________________________
Rtl mailing list
[email protected]
http://www2.fsmlabs.com/mailman/listinfo/rtl