diff options
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/as3525/dma-pl081.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/firmware/target/arm/as3525/dma-pl081.c b/firmware/target/arm/as3525/dma-pl081.c index 8a97986f2c..52fd90f940 100644 --- a/firmware/target/arm/as3525/dma-pl081.c +++ b/firmware/target/arm/as3525/dma-pl081.c | |||
@@ -48,7 +48,7 @@ void dma_release(void) | |||
48 | 48 | ||
49 | void dma_init(void) | 49 | void dma_init(void) |
50 | { | 50 | { |
51 | DMAC_SYNC = 0; | 51 | DMAC_SYNC = 0xffff; /* disable synchronisation logic */ |
52 | VIC_INT_ENABLE |= INTERRUPT_DMAC; | 52 | VIC_INT_ENABLE |= INTERRUPT_DMAC; |
53 | } | 53 | } |
54 | 54 | ||
@@ -88,9 +88,6 @@ void dma_enable_channel(int channel, void *src, void *dst, int peri, | |||
88 | 88 | ||
89 | DMAC_CH_CONTROL(channel) = control; | 89 | DMAC_CH_CONTROL(channel) = control; |
90 | 90 | ||
91 | /* only needed if DMAC and Peripheral do not run at the same clock speed */ | ||
92 | DMAC_SYNC |= (1<<peri); | ||
93 | |||
94 | /* we set the same peripheral as source and destination because we always | 91 | /* we set the same peripheral as source and destination because we always |
95 | * use memory-to-peripheral or peripheral-to-memory transfers */ | 92 | * use memory-to-peripheral or peripheral-to-memory transfers */ |
96 | DMAC_CH_CONFIGURATION(channel) = | 93 | DMAC_CH_CONFIGURATION(channel) = |
@@ -116,7 +113,7 @@ void INT_DMAC(void) | |||
116 | panicf("DMA error, channel %d", channel); | 113 | panicf("DMA error, channel %d", channel); |
117 | 114 | ||
118 | /* clear terminal count interrupt */ | 115 | /* clear terminal count interrupt */ |
119 | DMAC_INT_TC_CLEAR |= (1<<channel); | 116 | DMAC_INT_TC_CLEAR = (1<<channel); |
120 | 117 | ||
121 | if(dma_callback[channel]) | 118 | if(dma_callback[channel]) |
122 | dma_callback[channel](); | 119 | dma_callback[channel](); |