Err, the 'flags' argument to device_prep_slave_sg() is supposed to bethanks a lot.
from the set of enum dma_ctrl_flags. What this means is that your
MXS_DMA_F_APPEND is equivalent to DMA_PREP_INTERRUPT, and
MXS_DMA_F_WAIT4END is equivalent to DMA_CTRL_ACK.
What this does is make your drivers completely dependent on your DMAFrankly speaking, the APBH-DMA is more coupled with the GPMI then any other modules.
engine implementation. That's not a good idea when devices get
reused in different SoCs.
If you need to supply extra flags which aren't in the dma_ctrl_flags,
at least make sure that they're using different bits. For bonus points,
also have your driver_check_ the DMA engine it's connected to before
it passes these flags.