You need to write a task that does the DMA operation you want;
GenBD is actually pretty generic and lets you just copy from
one place to another.
The API is pretty simple; make sure genbd is compiled in, get
the task structure using bcom_gen_bd_[tr]x_init, and then..
uhh.. this is where I always forget.
There is a way to submit a buffer descriptor and have the
engine basically perform that transfer. I think it's
bcom_prepare_next_buffer and then bcom_submit_next_buffer.
Actually I can't even FIND those functions in the Linux tree
right now, but they have to be in there because the FEC driver
uses them..
--
Matt Sealey <[EMAIL PROTECTED]>
Genesi, Manager, Developer Relations
Dave Best wrote:
I am trying to connect a FPGA/FIFO with my MPC5200b on a phytec PCM 030 board
while running a 2.6.23.1 Linux.
The Linux Kernel source contains an implementation for the Bestcomm API in the
form of a driver for ethernet (fec) and ATA.(situated in the
arch-powerpc/sysdev/bestcomm path) I tried to make use of it but i've run into
some problems.
So i tried to include the API in a module to utilize its functionality but no
luck till now.
Freescale supports the Bestcomm DMA API not on an OS level. So the problem is
adopting this API into a Linux environment, which distinguishes between kernel
space and user space while writing to the appropriate registers.
Further information is very hard to find for such a common task as starting a
DMA transfer.
Dave
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded