summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2006-02-20 20:23:21 +0000
committerThom Johansen <thomj@rockbox.org>2006-02-20 20:23:21 +0000
commitec93f4685cf55b9990e37fd84997be750f4eaef8 (patch)
treee711e02a52d1adf6fbb961ab119a40f9e5993c7e
parent7f6fe6aa35cdbac9ef2d684af299b9695f22fccd (diff)
downloadrockbox-ec93f4685cf55b9990e37fd84997be750f4eaef8.tar.gz
rockbox-ec93f4685cf55b9990e37fd84997be750f4eaef8.zip
Correct the channel order in the ASM optimised fiq handler. Correct a
jump target. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8753 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/pcm_playback.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index a48002ce00..11cd4cc2ba 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -524,11 +524,12 @@ void fiq(void)
524 "cmp r12, #0x10000 \n\t" 524 "cmp r12, #0x10000 \n\t"
525 "bls .fifo_full \n\t" /* FIFO full, exit */ 525 "bls .fifo_full \n\t" /* FIFO full, exit */
526 "ldr r12, [r9], #4 \n\t" /* load two samples to r12 */ 526 "ldr r12, [r9], #4 \n\t" /* load two samples to r12 */
527 "mov r12, r12, ror #16\n\t" /* put left sample at the top bits */
527 "str r12, [r10] \n\t" /* write top sample, lower sample ignored */ 528 "str r12, [r10] \n\t" /* write top sample, lower sample ignored */
528 "mov r12, r12, lsl #16\n\t" /* shift lower sample up */ 529 "mov r12, r12, lsl #16\n\t" /* shift lower sample up */
529 "str r12, [r10] \n\t" /* then write it */ 530 "str r12, [r10] \n\t" /* then write it */
530 "subs r8, r8, #4 \n\t" /* check if we have more samples */ 531 "subs r8, r8, #4 \n\t" /* check if we have more samples */
531 "bne .loop \n\t" /* yes, continue */ 532 "bne .fifo_loop \n\t" /* yes, continue */
532 ".more_data: \n\t" 533 ".more_data: \n\t"
533 "stmdb sp!, { r0-r3, lr}\n\t" /* stack scratch regs and lr */ 534 "stmdb sp!, { r0-r3, lr}\n\t" /* stack scratch regs and lr */
534 "ldr r0, =p \n\t" /* load parameters to callback_for_more */ 535 "ldr r0, =p \n\t" /* load parameters to callback_for_more */