merge dma2d branch into master