projects
/
project
/
bcm63xx
/
u-boot.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8d9207c
)
powerpc/8xxx: Fix dma for 36bit addressing
author
York Sun
<
[email protected]
>
Fri, 27 Aug 2010 21:25:50 +0000
(16:25 -0500)
committer
Kumar Gala
<
[email protected]
>
Tue, 31 Aug 2010 16:23:15 +0000
(11:23 -0500)
Use more bits to support 36-bit addressing
Signed-off-by: York Sun <
[email protected]
>
Signed-off-by: Kumar Gala <
[email protected]
>
drivers/dma/fsl_dma.c
patch
|
blob
|
history
diff --git
a/drivers/dma/fsl_dma.c
b/drivers/dma/fsl_dma.c
index df33e7a3eec7a41a19f8186c5083d643e136ef40..09c18c192997d90196b3408f3619b048c3e64808 100644
(file)
--- a/
drivers/dma/fsl_dma.c
+++ b/
drivers/dma/fsl_dma.c
@@
-114,8
+114,12
@@
int dmacpy(phys_addr_t dest, phys_addr_t src, phys_size_t count) {
while (count) {
xfer_size = MIN(FSL_DMA_MAX_SIZE, count);
- out_dma32(&dma->dar, (uint) dest);
- out_dma32(&dma->sar, (uint) src);
+ out_dma32(&dma->dar, (u32) (dest & 0xFFFFFFFF));
+ out_dma32(&dma->sar, (u32) (src & 0xFFFFFFFF));
+ out_dma32(&dma->satr,
+ in_dma32(&dma->satr) | (u32)((u64)src >> 32));
+ out_dma32(&dma->datr,
+ in_dma32(&dma->datr) | (u32)((u64)dest >> 32));
out_dma32(&dma->bcr, xfer_size);
dma_sync();