Mike,
Don't take it the wrong way.. It's too complicated even for those of us that are suppose to understand it.
The reason we released the API, was to minimize the chance of customers having implementation problems. The DMA engine is very powerful, but it is effectively a micro-coded state machine and its programming model is less than ideal... We have to do a lot of testing before releasing an API..The API as it stands today is quite stable.
One of the drawbacks to micro-coded state machines or VLIW architectures is typically the programming model. They can do really neat things in a typically faster manner than a traditional programmable machine, but can be quite complicated to program.
May I ask for more details of your original request? I can't promise anything, but sometimes we've found alternative ways to solve the problem without actually changing the code. Or maybe somebody in the community has tried to solve the same problem and has found a way around it.
Thanks
-JWW