[PATCH 1/2] misc: add CARMA DATA-FPGA Access Driver

Ira W. Snyder iws at ovro.caltech.edu
Thu Feb 10 04:03:27 EST 2011

On Wed, Feb 09, 2011 at 04:30:23PM -0000, David Laight wrote:
> > This driver allows userspace to access the data processing 
> > FPGAs on the OVRO CARMA board. It has two modes of operation:
> > 
> > 1) random access
> > 
> > This allows users to poke any DATA-FPGA registers by using mmap to map
> > the address region directly into their memory map.
> I needed something similar, but used pread() and pwrite()
> to request the transfers.
> While this does require a system call per transfer, it allows
> the driver to use dma (if available) to speed up the request.
> In my case doing single cycle transfers would be too slow.

We initially started with a read()/write() interface for individual
register reads and writes, just like you describe. It turned out that
mmap was plenty fast for our use. I made the decision to ditch all of
the extra code needed to setup and execute the DMA for the much simpler
mmap code.

In our case, going all the way through the DMA engine code just to
transfer 4 bytes is overkill. The local bus is already quite fast, and
we can increase the clock speed if needed.


More information about the Linuxppc-dev mailing list