This is a lot of mumbling for for something that should have had a driver for the basic dmaengine functionality upstream for a long time. I'd suggest you spend your time on upstreaming that driver first and then send actualy code proposing anything beyond that to the list first and start a discusssion if that doesn't get anywhere.