diff options
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c')
-rw-r--r-- | firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c b/firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c index 83d3646ed1..00a2b22591 100644 --- a/firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/pcm-jz4740.c | |||
@@ -69,6 +69,8 @@ static inline void set_dma(const void *addr, size_t size) | |||
69 | int burst_size; | 69 | int burst_size; |
70 | logf("%x %d %x", (unsigned int)addr, size, REG_AIC_SR); | 70 | logf("%x %d %x", (unsigned int)addr, size, REG_AIC_SR); |
71 | 71 | ||
72 | commit_discard_dcache_range(addr, size); | ||
73 | |||
72 | if(size % 16) | 74 | if(size % 16) |
73 | { | 75 | { |
74 | if(size % 4) | 76 | if(size % 4) |
@@ -88,7 +90,6 @@ static inline void set_dma(const void *addr, size_t size) | |||
88 | burst_size = DMAC_DCMD_DS_16BYTE; | 90 | burst_size = DMAC_DCMD_DS_16BYTE; |
89 | } | 91 | } |
90 | 92 | ||
91 | __dcache_writeback_all(); | ||
92 | REG_DMAC_DCCSR(DMA_AIC_TX_CHANNEL) = DMAC_DCCSR_NDES; | 93 | REG_DMAC_DCCSR(DMA_AIC_TX_CHANNEL) = DMAC_DCCSR_NDES; |
93 | REG_DMAC_DSAR(DMA_AIC_TX_CHANNEL) = PHYSADDR((unsigned long)addr); | 94 | REG_DMAC_DSAR(DMA_AIC_TX_CHANNEL) = PHYSADDR((unsigned long)addr); |
94 | REG_DMAC_DTAR(DMA_AIC_TX_CHANNEL) = PHYSADDR((unsigned long)AIC_DR); | 95 | REG_DMAC_DTAR(DMA_AIC_TX_CHANNEL) = PHYSADDR((unsigned long)AIC_DR); |