It seems that the dma_data_direction enum is defined for transfer between device and memory:
enum dma_data_direction {
DMA_BIDIRECTIONAL = 0,
DMA_TO_DEVICE = 1,
DMA_FROM_DEVICE = 2,
DMA_NONE = 3,
};
Why there is not a direction definition for memory-to-memory (or device-to-device) DMA transfer?