Make DMA transactions snoopable so that CPUs can keep caches up-to-date.
This allows dma transactions to be used for operations such as memory
copies without any additional cache control operations.
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
void dma_init(void) {
volatile fsl_dma_t *dma = &dma_base->dma[0];
- out_be32(&dma->satr, FSL_DMA_SATR_SREAD_NO_SNOOP);
- out_be32(&dma->datr, FSL_DMA_DATR_DWRITE_NO_SNOOP);
+ out_be32(&dma->satr, FSL_DMA_SATR_SREAD_SNOOP);
+ out_be32(&dma->datr, FSL_DMA_DATR_DWRITE_SNOOP);
out_be32(&dma->sr, 0xffffffff); /* clear any errors */
dma_sync();
}