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

Reply via email to