seperate dma init functions