summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_jz47xx/dma_acc-jz4740.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/dma_acc-jz4740.c')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/dma_acc-jz4740.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/dma_acc-jz4740.c b/firmware/target/mips/ingenic_jz47xx/dma_acc-jz4740.c
index 6f317f7b3f..f4f363b25b 100644
--- a/firmware/target/mips/ingenic_jz47xx/dma_acc-jz4740.c
+++ b/firmware/target/mips/ingenic_jz47xx/dma_acc-jz4740.c
@@ -32,7 +32,7 @@ void memset(void *target, unsigned char c, size_t len)
32 else 32 else
33 { 33 {
34 if(((unsigned int)target < 0xa0000000) && len) 34 if(((unsigned int)target < 0xa0000000) && len)
35 dma_cache_wback_inv((unsigned long)target, len); 35 discard_dcache_range(target, len);
36 36
37 dp = (unsigned char *)((unsigned int)(&d) | 0xa0000000); 37 dp = (unsigned char *)((unsigned int)(&d) | 0xa0000000);
38 *(dp + 0) = c; 38 *(dp + 0) = c;
@@ -52,7 +52,6 @@ void memset(void *target, unsigned char c, size_t len)
52 dp = (unsigned char *)((unsigned int)target + (len & (32 - 1))); 52 dp = (unsigned char *)((unsigned int)target + (len & (32 - 1)));
53 for(d = 0;d < (len % 32); d++) 53 for(d = 0;d < (len % 32); d++)
54 *dp++ = c; 54 *dp++ = c;
55
56 } 55 }
57 } 56 }
58} 57}
@@ -68,7 +67,7 @@ void memset16(void *target, unsigned short c, size_t len)
68 else 67 else
69 { 68 {
70 if(((unsigned int)target < 0xa0000000) && len) 69 if(((unsigned int)target < 0xa0000000) && len)
71 dma_cache_wback_inv((unsigned long)target, len); 70 discard_dcache_range(target, len);
72 71
73 d = c; 72 d = c;
74 REG_DMAC_DSAR(ch) = PHYSADDR((unsigned long)&d); 73 REG_DMAC_DSAR(ch) = PHYSADDR((unsigned long)&d);
@@ -97,10 +96,10 @@ void memcpy(void *target, const void *source, size_t len)
97 _memcpy(target, source, len); 96 _memcpy(target, source, len);
98 97
99 if(((unsigned int)source < 0xa0000000) && len) 98 if(((unsigned int)source < 0xa0000000) && len)
100 dma_cache_wback_inv((unsigned long)source, len); 99 commit_dcache_range(source, len);
101 100
102 if(((unsigned int)target < 0xa0000000) && len) 101 if(((unsigned int)target < 0xa0000000) && len)
103 dma_cache_wback_inv((unsigned long)target, len); 102 discard_dcache_range(target, len);
104 103
105 REG_DMAC_DSAR(ch) = PHYSADDR((unsigned long)source); 104 REG_DMAC_DSAR(ch) = PHYSADDR((unsigned long)source);
106 REG_DMAC_DTAR(ch) = PHYSADDR((unsigned long)target); 105 REG_DMAC_DTAR(ch) = PHYSADDR((unsigned long)target);