diff options
| author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2010-12-30 15:46:39 +0000 |
|---|---|---|
| committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2010-12-30 15:46:39 +0000 |
| commit | 3f01a82af09bad11d05b29f7db26fdca8a276737 (patch) | |
| tree | 4741aad8b33e78ea12763b6bed18bb07afd815e8 | |
| parent | 397215dae9df376ab321ec1379caac5dd17f2b57 (diff) | |
| download | rockbox-3f01a82af09bad11d05b29f7db26fdca8a276737.zip rockbox-3f01a82af09bad11d05b29f7db26fdca8a276737.tar.gz rockbox-3f01a82af09bad11d05b29f7db26fdca8a276737.tar.bz2 rockbox-3f01a82af09bad11d05b29f7db26fdca8a276737.tar.xz | |
Submitted the wrong file with r28933.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28934 a1c6a512-1295-4272-9138-f99709370657
| -rwxr-xr-x | firmware/target/arm/ipod/lcd-as-color-nano.S | 2 | ||||
| -rwxr-xr-x | firmware/target/arm/s5l8700/ipodnano2g/lcd-asm-nano2g.S | 17 |
2 files changed, 14 insertions, 5 deletions
diff --git a/firmware/target/arm/ipod/lcd-as-color-nano.S b/firmware/target/arm/ipod/lcd-as-color-nano.S index 5708d0a..d4df4d4 100755 --- a/firmware/target/arm/ipod/lcd-as-color-nano.S +++ b/firmware/target/arm/ipod/lcd-as-color-nano.S @@ -136,7 +136,7 @@ lcd_yuv_write_inner_loop: orr r6, r6, r7, lsl #24 @ swap bytes and add pixels simultaneously mov r7, r7, lsr #8 orr r6, r6, r7, lsl #16 -#if 0 +#if 1 11: @ while (!(LCD2_BLOCK_CTRL & LCD2_BLOCK_TXOK)); ldr r11, [r4, #0x20] @ tst r11, #0x1000000 @ diff --git a/firmware/target/arm/s5l8700/ipodnano2g/lcd-asm-nano2g.S b/firmware/target/arm/s5l8700/ipodnano2g/lcd-asm-nano2g.S index 7fd7039..2b170f3 100755 --- a/firmware/target/arm/s5l8700/ipodnano2g/lcd-asm-nano2g.S +++ b/firmware/target/arm/s5l8700/ipodnano2g/lcd-asm-nano2g.S @@ -19,6 +19,15 @@ * ****************************************************************************/ +/**************************************************************************** + * #define FORCE_FIFO_WAIT + * + * This is not needed in YUV blitting when the LCD IF is fast enough. In this + * case YUV-to-RGB conversion per pixel needs longer than the transfer of a + * pixel via the LCD IF. For iPod nano 2G this is true if the LCD IF is + * configured to use LCD_PHTIME = 0x00 (see lcd-nano2g.c). + ****************************************************************************/ + #include "config.h" .section .icode, "ax", %progbits @@ -185,13 +194,13 @@ lcd_write_yuv420_lines: /* calculate pixel_2 and pack with pixel_1 before writing */ orr r5, r5, r3, lsl #5 /* pixel_2 = r<<11 | g<<5 | b */ orr r5, r5, r6, lsl #11 /* r5 = pixel_2 */ - +#ifdef FORCE_FIFO_WAIT /* wait for FIFO half full */ .fifo_wait1: ldr r3, [lr, #-0x24] /* while (LCD_STATUS & 0x08); */ tst r3, #0x8 bgt .fifo_wait1 - +#endif stmia lr, {r4,r5} /* write pixel_1 and pixel_2 */ subs r7, r7, #2 /* check for loop end */ @@ -265,13 +274,13 @@ lcd_write_yuv420_lines: /* calculate pixel_2 and pack with pixel_1 before writing */ orr r5, r5, r3, lsl #5 /* pixel_2 = r<<11 | g<<5 | b */ orr r5, r5, r6, lsl #11 /* r5 = pixel_2 */ - +#ifdef FORCE_FIFO_WAIT /* wait for FIFO half full */ .fifo_wait2: ldr r3, [lr, #-0x24] /* while (LCD_STATUS & 0x08); */ tst r3, #0x8 bgt .fifo_wait2 - +#endif stmia lr, {r4,r5} /* write pixel_1 and pixel_2 */ subs r7, r7, #2 /* check for loop end */ |