Subject: Re: DIMM Modules! bus_dma functions on arm32?
To: Bruce Martin <BruceM@cat.co.za>
From: Philip Blundell <Philip.Blundell@pobox.com>
List: port-arm32
Date: 09/13/1999 21:31:54
>Now, upon getting DMA to work, we have noticed some rather long delays
>on the PCI bus, which are not present on the i386. We have veen looking
>through the arm code, to check the settings of the various 21285 DMA
>Control and DMA Configuration registers, but after extensive searching,
>have found that no access is made to any of these registers anywhere
>under NetBSD. However, it seems that DMA is working in some way. Please
>could anybody familiar with DMA on the arm32 (and EBSA285) tell us how
>it has been implemented without accessing any of the 21285 DMA
>registers?

What sort of DMA transfers are you talking about?

The 21285 contains an internal DMA engine which can move data from PCI to 
SDRAM or vice versa.  This is what its "DMA" registers control, but it's not 
especially useful in a NetBSD environment which is why there is no reference 
to it.

If you mean PCI bus-master "DMA" transfers, you need to investigate the 
various registers in PCI configuration space related to latency timers.  These 
are set up by the BIOS and may well be different in an arm32 environment to an 
i386 system although this is not directly a function of the hardware.

(It would help if you could give a few more details about what sort of delays 
you are experiencing.)

p.