summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c')
-rw-r--r--firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
index ab3ceba0f3..d7d8f92a0c 100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c
@@ -132,8 +132,6 @@ char buffer[80];
132void DSPHINT(void) __attribute__ ((section(".icode"))); 132void DSPHINT(void) __attribute__ ((section(".icode")));
133void DSPHINT(void) 133void DSPHINT(void)
134{ 134{
135 register pcm_more_callback_type get_more; /* No stack for this */
136
137 unsigned int i; 135 unsigned int i;
138 136
139 IO_INTC_FIQ0 = 1 << 11; 137 IO_INTC_FIQ0 = 1 << 11;
@@ -152,16 +150,9 @@ void DSPHINT(void)
152 150
153 case MSG_REFILL: 151 case MSG_REFILL:
154 /* Buffer empty. Try to get more. */ 152 /* Buffer empty. Try to get more. */
155 get_more = pcm_callback_for_more; 153 pcm_play_get_more_callback(&start, &size);
156 size = 0; 154
157 155 if (size != 0)
158 if (get_more == NULL || (get_more(&start, &size), size == 0))
159 {
160 /* Callback missing or no more DMA to do */
161 pcm_play_dma_stop();
162 pcm_play_dma_stopped_callback();
163 }
164
165 { 156 {
166 unsigned long sdem_addr=(unsigned long)start - CONFIG_SDRAM_START; 157 unsigned long sdem_addr=(unsigned long)start - CONFIG_SDRAM_START;
167 /* Flush any pending cache writes */ 158 /* Flush any pending cache writes */