From ec93f4685cf55b9990e37fd84997be750f4eaef8 Mon Sep 17 00:00:00 2001 From: Thom Johansen Date: Mon, 20 Feb 2006 20:23:21 +0000 Subject: 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 --- firmware/pcm_playback.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'firmware') 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) "cmp r12, #0x10000 \n\t" "bls .fifo_full \n\t" /* FIFO full, exit */ "ldr r12, [r9], #4 \n\t" /* load two samples to r12 */ + "mov r12, r12, ror #16\n\t" /* put left sample at the top bits */ "str r12, [r10] \n\t" /* write top sample, lower sample ignored */ "mov r12, r12, lsl #16\n\t" /* shift lower sample up */ "str r12, [r10] \n\t" /* then write it */ "subs r8, r8, #4 \n\t" /* check if we have more samples */ - "bne .loop \n\t" /* yes, continue */ + "bne .fifo_loop \n\t" /* yes, continue */ ".more_data: \n\t" "stmdb sp!, { r0-r3, lr}\n\t" /* stack scratch regs and lr */ "ldr r0, =p \n\t" /* load parameters to callback_for_more */ -- cgit