summaryrefslogtreecommitdiff
path: root/firmware/target/arm/pcm-telechips.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/pcm-telechips.c')
-rw-r--r--firmware/target/arm/pcm-telechips.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/firmware/target/arm/pcm-telechips.c b/firmware/target/arm/pcm-telechips.c
index 336b5626ca..747765d8fb 100644
--- a/firmware/target/arm/pcm-telechips.c
+++ b/firmware/target/arm/pcm-telechips.c
@@ -218,6 +218,7 @@ void fiq_handler(void)
218 * r0-r3 and r12 is a working register. 218 * r0-r3 and r12 is a working register.
219 */ 219 */
220 asm volatile ( 220 asm volatile (
221 ".syntax unified \n"
221 "sub lr, lr, #4 \n" 222 "sub lr, lr, #4 \n"
222 "stmfd sp!, { r0-r3, lr } \n" /* stack scratch regs and lr */ 223 "stmfd sp!, { r0-r3, lr } \n" /* stack scratch regs and lr */
223 "mov r14, #0 \n" /* Was the callback called? */ 224 "mov r14, #0 \n" /* Was the callback called? */
@@ -251,7 +252,7 @@ void fiq_handler(void)
251 "stmia r11, { r8-r9 } \n" /* save p and size */ 252 "stmia r11, { r8-r9 } \n" /* save p and size */
252 253
253 "cmp r14, #0 \n" /* Callback called? */ 254 "cmp r14, #0 \n" /* Callback called? */
254 "ldmeqfd sp!, { r0-r3, pc }^ \n" /* no? -> exit */ 255 "ldmfdeq sp!, { r0-r3, pc }^ \n" /* no? -> exit */
255 256
256 "ldr r1, =pcm_play_status_callback \n" 257 "ldr r1, =pcm_play_status_callback \n"
257 "ldr r1, [r1] \n" 258 "ldr r1, [r1] \n"
@@ -268,7 +269,7 @@ void fiq_handler(void)
268 "mov lr, pc \n" 269 "mov lr, pc \n"
269 "ldr pc, =pcm_play_dma_complete_callback \n" 270 "ldr pc, =pcm_play_dma_complete_callback \n"
270 "cmp r0, #0 \n" /* any more to play? */ 271 "cmp r0, #0 \n" /* any more to play? */
271 "ldmneia r11, { r8-r9 } \n" /* load new p and size */ 272 "ldmiane r11, { r8-r9 } \n" /* load new p and size */
272 "cmpne r9, #0x0f \n" /* did we actually get enough data? */ 273 "cmpne r9, #0x0f \n" /* did we actually get enough data? */
273 "bhi .fill_fifo \n" /* not stop and enough? refill */ 274 "bhi .fill_fifo \n" /* not stop and enough? refill */
274 "ldmfd sp!, { r0-r3, pc }^ \n" /* exit */ 275 "ldmfd sp!, { r0-r3, pc }^ \n" /* exit */