DMA with RCM4300

I am trying to implement a DMA transfer from an external device (a FIFO) into my RCM4300, but I am starting to wonder if this is even possible. Ideally, I’d like to connect my FIFO to an I/O port and use DMA to transfer in the data.

The basic idea I’ve got goes something like this:

DMAalloc()
DMAsetParameters()
*
enableIObus()
DMAioe2mem()
*
DMApoll()
*
disableIObus()
DMAunalloc()

Am I on the right track? Can anyone provide either a code example, or failing that, a correction to the above algorithm?