summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s5l8702/pcm-s5l8702.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s5l8702/pcm-s5l8702.c')
-rw-r--r--firmware/target/arm/s5l8702/pcm-s5l8702.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/firmware/target/arm/s5l8702/pcm-s5l8702.c b/firmware/target/arm/s5l8702/pcm-s5l8702.c
index ef404ddd9c..1974c47d51 100644
--- a/firmware/target/arm/s5l8702/pcm-s5l8702.c
+++ b/firmware/target/arm/s5l8702/pcm-s5l8702.c
@@ -38,7 +38,7 @@ static unsigned char dblbuf[2][PCM_WATERMARK * 4];
38static int active_dblbuf; 38static int active_dblbuf;
39struct dma_lli pcm_lli[PCM_LLICOUNT] __attribute__((aligned(16))); 39struct dma_lli pcm_lli[PCM_LLICOUNT] __attribute__((aligned(16)));
40static struct dma_lli* lastlli; 40static struct dma_lli* lastlli;
41static const unsigned char* dataptr; 41static const void* dataptr;
42size_t pcm_remaining; 42size_t pcm_remaining;
43size_t pcm_chunksize; 43size_t pcm_chunksize;
44 44
@@ -65,8 +65,7 @@ void INT_DMAC0C0(void)
65 DMAC0INTTCCLR = 1; 65 DMAC0INTTCCLR = 1;
66 if (!pcm_remaining) 66 if (!pcm_remaining)
67 { 67 {
68 pcm_play_dma_complete_callback(PCM_DMAST_OK, (const void**)&dataptr, 68 pcm_play_dma_complete_callback(PCM_DMAST_OK, &dataptr, &pcm_remaining);
69 &pcm_remaining);
70 pcm_chunksize = pcm_remaining; 69 pcm_chunksize = pcm_remaining;
71 } 70 }
72 if (!pcm_remaining) 71 if (!pcm_remaining)
@@ -121,7 +120,7 @@ void INT_DMAC0C0(void)
121 120
122void pcm_play_dma_start(const void* addr, size_t size) 121void pcm_play_dma_start(const void* addr, size_t size)
123{ 122{
124 dataptr = (const unsigned char*)addr; 123 dataptr = addr;
125 pcm_remaining = size; 124 pcm_remaining = size;
126 I2STXCOM = 0xe; 125 I2STXCOM = 0xe;
127 INT_DMAC0C0(); 126 INT_DMAC0C0();