diff options
Diffstat (limited to 'firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c')
-rw-r--r-- | firmware/target/arm/tms320dm320/mrobe-500/pcm-mr500.c | 15 |
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]; | |||
132 | void DSPHINT(void) __attribute__ ((section(".icode"))); | 132 | void DSPHINT(void) __attribute__ ((section(".icode"))); |
133 | void DSPHINT(void) | 133 | void 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 */ |