summaryrefslogtreecommitdiff
path: root/drivers/dma
diff options
context:
space:
mode:
authorIra W. Snyder <iws@ovro.caltech.edu>2011-03-01 14:40:55 -0800
committerKim Phillips <kim.phillips@freescale.com>2011-07-06 19:09:27 -0500
commit9a865fff15931b5269778a20babcfd1b3f836f96 (patch)
tree897c73be8903bcff8c6cf4d693fe2dfa52f2687c /drivers/dma
parent79642098a8345e2506ab0ff02e8c7ac4da405d0c (diff)
fsl_dma: fix support for 83xx DMA engine
Commit 359ec4931944adb885882deb9b781e4095eabc94 broke support for the Freescale DMA engine on the 83xx parts. This is due to using registers which do not exist on 83xx. Remove the attribute register accesses from the 83xx build. Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu> Cc: York Sun <yorksun@freescale.com> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/fsl_dma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/dma/fsl_dma.c b/drivers/dma/fsl_dma.c
index 09c18c19299..30785ecf988 100644
--- a/drivers/dma/fsl_dma.c
+++ b/drivers/dma/fsl_dma.c
@@ -116,10 +116,12 @@ int dmacpy(phys_addr_t dest, phys_addr_t src, phys_size_t count) {
out_dma32(&dma->dar, (u32) (dest & 0xFFFFFFFF));
out_dma32(&dma->sar, (u32) (src & 0xFFFFFFFF));
+#if !defined(CONFIG_MPC83xx)
out_dma32(&dma->satr,
in_dma32(&dma->satr) | (u32)((u64)src >> 32));
out_dma32(&dma->datr,
in_dma32(&dma->datr) | (u32)((u64)dest >> 32));
+#endif
out_dma32(&dma->bcr, xfer_size);
dma_sync();