diff options
Diffstat (limited to 'firmware/target/arm/pp')
-rw-r--r-- | firmware/target/arm/pp/pcm-pp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/target/arm/pp/pcm-pp.c b/firmware/target/arm/pp/pcm-pp.c index 0d61eb44ff..fd798f0506 100644 --- a/firmware/target/arm/pp/pcm-pp.c +++ b/firmware/target/arm/pp/pcm-pp.c | |||
@@ -327,6 +327,7 @@ void fiq_playback(void) | |||
327 | */ | 327 | */ |
328 | asm volatile ( | 328 | asm volatile ( |
329 | /* No external calls */ | 329 | /* No external calls */ |
330 | ".syntax unified \n" | ||
330 | "sub lr, lr, #4 \n" /* Prepare return address */ | 331 | "sub lr, lr, #4 \n" /* Prepare return address */ |
331 | "stmfd sp!, { lr } \n" /* stack lr so we can use it */ | 332 | "stmfd sp!, { lr } \n" /* stack lr so we can use it */ |
332 | "ldr r12, =0xcf001040 \n" /* Some magic from iPodLinux ... */ | 333 | "ldr r12, =0xcf001040 \n" /* Some magic from iPodLinux ... */ |
@@ -349,8 +350,8 @@ void fiq_playback(void) | |||
349 | "bhi 0b \n" /* ... yes, continue */ | 350 | "bhi 0b \n" /* ... yes, continue */ |
350 | 351 | ||
351 | "cmp r9, #0 \n" /* either FIFO full or size empty? */ | 352 | "cmp r9, #0 \n" /* either FIFO full or size empty? */ |
352 | "stmneia r11, { r8-r9 } \n" /* save p and size, if not empty */ | 353 | "stmiane r11, { r8-r9 } \n" /* save p and size, if not empty */ |
353 | "ldmnefd sp!, { pc }^ \n" /* RFE if not empty */ | 354 | "ldmfdne sp!, { pc }^ \n" /* RFE if not empty */ |
354 | 355 | ||
355 | /* Making external calls */ | 356 | /* Making external calls */ |
356 | "1: \n" | 357 | "1: \n" |
@@ -363,7 +364,7 @@ void fiq_playback(void) | |||
363 | "mov lr, pc \n" /* long call (not in same section) */ | 364 | "mov lr, pc \n" /* long call (not in same section) */ |
364 | "bx r3 \n" | 365 | "bx r3 \n" |
365 | "cmp r0, #0 \n" /* more data? */ | 366 | "cmp r0, #0 \n" /* more data? */ |
366 | "ldmeqfd sp!, { r0-r3, pc }^ \n" /* no? -> exit */ | 367 | "ldmfdeq sp!, { r0-r3, pc }^ \n" /* no? -> exit */ |
367 | 368 | ||
368 | "ldr r14, [r10, #0x1c] \n" /* read IISFIFO_CFG to check FIFO status */ | 369 | "ldr r14, [r10, #0x1c] \n" /* read IISFIFO_CFG to check FIFO status */ |
369 | "ands r14, r14, #(0xe<<23) \n" /* r14 = (IIS_TX_FREE_COUNT & ~1) << 23 */ | 370 | "ands r14, r14, #(0xe<<23) \n" /* r14 = (IIS_TX_FREE_COUNT & ~1) << 23 */ |