I'm a EE and for a project at uni I'm developing hardware assisted image/video filtering on an FPGA (Xilinx ZYNQ), said device also has a dual core ARM A9 processor inside and more importantly there is also an ARM Primecell PL330 DMA controller
I'm using Yocto to build a basic linux environement that I can use on the processor with Xilinx's custom kernel kernel branch.
Now if I'understood correctly I'can't use the kernel DMA API directly, but I would have to write a custom kernel driver, and here lies the problem, since I don't have enough kernel knowledge to be able to do that (and in particular to set up a build environement for the custom module)...
so is there some kind of library/API/anything really that can make DMA transfers from userland? (in particular it would be from memory to a memory mapped peripheral (An AXI4 port between PS and PL on the zynq)
UPDATE
After some late night experimenting, I got a basic hello world kernel module to load correctly, so I think i'll go the right way and write a small device-driverish shim that takes a chunk of data from user space (part of an image in this case) and pass it to the FPGA part if the IC trough DMA api
I'll report my successes or failures ;)