summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/s5l8700/pcm-s5l8700.c10
-rw-r--r--firmware/target/arm/s5l8702/pcm-s5l8702.c7
2 files changed, 8 insertions, 9 deletions
diff --git a/firmware/target/arm/s5l8700/pcm-s5l8700.c b/firmware/target/arm/s5l8700/pcm-s5l8700.c
index c5a5bcf74f..d8387c2aa5 100644
--- a/firmware/target/arm/s5l8700/pcm-s5l8700.c
+++ b/firmware/target/arm/s5l8700/pcm-s5l8700.c
@@ -43,9 +43,9 @@
43static volatile int locked = 0; 43static volatile int locked = 0;
44static const int zerosample = 0; 44static const int zerosample = 0;
45static unsigned char dblbuf[1024] IBSS_ATTR; 45static unsigned char dblbuf[1024] IBSS_ATTR;
46static const unsigned char* queuedbuf; 46static const void* queuedbuf;
47static size_t queuedsize; 47static size_t queuedsize;
48static const unsigned char* nextbuf; 48static const void* nextbuf;
49static size_t nextsize; 49static size_t nextsize;
50 50
51static const struct div_entry { 51static const struct div_entry {
@@ -116,8 +116,8 @@ void INT_DMA(void)
116 { 116 {
117 if (!nextsize) 117 if (!nextsize)
118 { 118 {
119 new_buffer = pcm_play_dma_complete_callback(PCM_DMAST_OK, 119 new_buffer = pcm_play_dma_complete_callback(
120 (const void**)&nextbuf, &nextsize); 120 PCM_DMAST_OK, &nextbuf, &nextsize);
121 if (!new_buffer) 121 if (!new_buffer)
122 break; 122 break;
123 } 123 }
@@ -144,7 +144,7 @@ void INT_DMA(void)
144void pcm_play_dma_start(const void* addr, size_t size) 144void pcm_play_dma_start(const void* addr, size_t size)
145{ 145{
146 /* DMA channel on */ 146 /* DMA channel on */
147 nextbuf = (const unsigned char*)addr; 147 nextbuf = addr;
148 nextsize = size; 148 nextsize = size;
149 queuedsize = 0; 149 queuedsize = 0;
150 DMABASE0 = (unsigned int)(&zerosample); 150 DMABASE0 = (unsigned int)(&zerosample);
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();