summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2010-12-30 15:46:39 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2010-12-30 15:46:39 +0000
commit3f01a82af09bad11d05b29f7db26fdca8a276737 (patch)
tree4741aad8b33e78ea12763b6bed18bb07afd815e8 /firmware
parent397215dae9df376ab321ec1379caac5dd17f2b57 (diff)
downloadrockbox-3f01a82af09bad11d05b29f7db26fdca8a276737.tar.gz
rockbox-3f01a82af09bad11d05b29f7db26fdca8a276737.zip
Submitted the wrong file with r28933.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28934 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rwxr-xr-xfirmware/target/arm/ipod/lcd-as-color-nano.S2
-rwxr-xr-xfirmware/target/arm/s5l8700/ipodnano2g/lcd-asm-nano2g.S17
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 5708d0afb8..d4df4d496a 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 7fd703972d..2b170f329b 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 */