diff options
author | Thom Johansen <thomj@rockbox.org> | 2006-02-20 20:23:21 +0000 |
---|---|---|
committer | Thom Johansen <thomj@rockbox.org> | 2006-02-20 20:23:21 +0000 |
commit | ec93f4685cf55b9990e37fd84997be750f4eaef8 (patch) | |
tree | e711e02a52d1adf6fbb961ab119a40f9e5993c7e /firmware/pcm_playback.c | |
parent | 7f6fe6aa35cdbac9ef2d684af299b9695f22fccd (diff) | |
download | rockbox-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
Diffstat (limited to 'firmware/pcm_playback.c')
-rw-r--r-- | firmware/pcm_playback.c | 3 |
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 */ |