diff options
Diffstat (limited to 'firmware/target/arm/as3525')
-rw-r--r-- | firmware/target/arm/as3525/pcm-as3525.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/firmware/target/arm/as3525/pcm-as3525.c b/firmware/target/arm/as3525/pcm-as3525.c index 469833b05c..1b22d48f7f 100644 --- a/firmware/target/arm/as3525/pcm-as3525.c +++ b/firmware/target/arm/as3525/pcm-as3525.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include "as3514.h" | 29 | #include "as3514.h" |
30 | #include "audiohw.h" | 30 | #include "audiohw.h" |
31 | #include "mmu-arm.h" | 31 | #include "mmu-arm.h" |
32 | #include "pcm-internal.h" | ||
32 | 33 | ||
33 | #define MAX_TRANSFER (4*((1<<11)-1)) /* maximum data we can transfer via DMA | 34 | #define MAX_TRANSFER (4*((1<<11)-1)) /* maximum data we can transfer via DMA |
34 | * i.e. 32 bits at once (size of I2SO_DATA) | 35 | * i.e. 32 bits at once (size of I2SO_DATA) |
@@ -104,9 +105,13 @@ static void dma_callback(void) | |||
104 | 105 | ||
105 | /* force writeback */ | 106 | /* force writeback */ |
106 | clean_dcache_range(dma_start_addr, dma_start_size); | 107 | clean_dcache_range(dma_start_addr, dma_start_size); |
108 | play_start_pcm(); | ||
109 | pcm_play_dma_started_callback(); | ||
110 | } | ||
111 | else | ||
112 | { | ||
113 | play_start_pcm(); | ||
107 | } | 114 | } |
108 | |||
109 | play_start_pcm(); | ||
110 | } | 115 | } |
111 | 116 | ||
112 | void pcm_play_dma_start(const void *addr, size_t size) | 117 | void pcm_play_dma_start(const void *addr, size_t size) |