diff options
author | Chris Chua <someone42@gmail.com> | 2023-03-19 06:22:08 +1100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2023-03-23 13:28:22 -0400 |
commit | 86429dbf1eca8ee0e08176997f508647c3abf6bd (patch) | |
tree | 4d35e56e338a326d1a04c8d1f620821fa7909678 /firmware/target/arm/pcm-telechips.c | |
parent | a64cad847e7d24dc4d01d5ab22f6c8dc42f960ae (diff) | |
download | rockbox-86429dbf1eca8ee0e08176997f508647c3abf6bd.tar.gz rockbox-86429dbf1eca8ee0e08176997f508647c3abf6bd.zip |
Using ARM Unified Assembler Language
Change-Id: Iae32a8ba8eff6087330e458fafc912a12fee4509
Diffstat (limited to 'firmware/target/arm/pcm-telechips.c')
-rw-r--r-- | firmware/target/arm/pcm-telechips.c | 5 |
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 */ |