diff options
Diffstat (limited to 'firmware/target/arm')
-rw-r--r-- | firmware/target/arm/s5l8700/pcm-s5l8700.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/target/arm/s5l8700/pcm-s5l8700.c b/firmware/target/arm/s5l8700/pcm-s5l8700.c index 08a1038022..b0b155165f 100644 --- a/firmware/target/arm/s5l8700/pcm-s5l8700.c +++ b/firmware/target/arm/s5l8700/pcm-s5l8700.c | |||
@@ -109,7 +109,7 @@ static const void* dma_callback(void) | |||
109 | get_more(&dma_start_addr, &nextsize); | 109 | get_more(&dma_start_addr, &nextsize); |
110 | if (nextsize >= 4096) | 110 | if (nextsize >= 4096) |
111 | { | 111 | { |
112 | dblbufsize = nextsize >> 4; | 112 | dblbufsize = (nextsize >> 4) & ~3; |
113 | nextsize = nextsize - dblbufsize; | 113 | nextsize = nextsize - dblbufsize; |
114 | dblbuf = dma_start_addr + nextsize; | 114 | dblbuf = dma_start_addr + nextsize; |
115 | dmamode = 0; | 115 | dmamode = 0; |
@@ -235,7 +235,7 @@ void pcm_play_dma_start(const void *addr_in, size_t size) | |||
235 | clean_dcache(); | 235 | clean_dcache(); |
236 | if (size >= 4096) | 236 | if (size >= 4096) |
237 | { | 237 | { |
238 | dblbufsize = size >> 4; | 238 | dblbufsize = (size >> 4) & ~3; |
239 | size = size - dblbufsize; | 239 | size = size - dblbufsize; |
240 | dblbuf = addr + size; | 240 | dblbuf = addr + size; |
241 | dmamode = 0; | 241 | dmamode = 0; |