summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-04-11 10:37:37 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-04-11 10:37:37 +0000
commitd2848f3d7226d59d2b63c781cac10123587e36ea (patch)
treeb11f5804c0162c700c66f5872bd1cc5eeac24ed9 /firmware
parent85212152118ccb63ecc4664083ab37cb1c3d8298 (diff)
downloadrockbox-d2848f3d7226d59d2b63c781cac10123587e36ea.tar.gz
rockbox-d2848f3d7226d59d2b63c781cac10123587e36ea.tar.bz2
rockbox-d2848f3d7226d59d2b63c781cac10123587e36ea.zip
moved the LCD framebuffer to IRAM for iAudio X5 - gives ~40% speed boost
I also extended the iram size properly since the 5250 coldfire has 128K git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9604 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/app.lds2
-rw-r--r--firmware/drivers/lcd-16bit.c2
-rw-r--r--firmware/export/config-iaudiox5.h2
-rw-r--r--firmware/export/config.h5
4 files changed, 9 insertions, 2 deletions
diff --git a/firmware/app.lds b/firmware/app.lds
index 0d7c191660..3416f5c6b6 100644
--- a/firmware/app.lds
+++ b/firmware/app.lds
@@ -125,7 +125,7 @@ _pluginbuf = 0;
#elif defined(IAUDIO_X5)
#define DRAMORIG 0x31000000 + STUBOFFSET
#define IRAMORIG 0x10000000
-#define IRAMSIZE 0xc000
+#define IRAMSIZE 0x14000
#elif (CONFIG_CPU==PP5002) || (CONFIG_CPU==PP5020)
#define DRAMORIG 0x00000000 + STUBOFFSET
#define IRAMORIG 0x40000000
diff --git a/firmware/drivers/lcd-16bit.c b/firmware/drivers/lcd-16bit.c
index e98403aa1b..d337ea95a4 100644
--- a/firmware/drivers/lcd-16bit.c
+++ b/firmware/drivers/lcd-16bit.c
@@ -43,7 +43,7 @@ enum fill_opt {
};
/*** globals ***/
-fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH] __attribute__ ((aligned (16)));
+fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH] IRAM_LCDFRAMEBUFFER __attribute__ ((aligned (16)));
static fb_data* lcd_backdrop = NULL;
static long lcd_backdrop_offset IDATA_ATTR = 0;
diff --git a/firmware/export/config-iaudiox5.h b/firmware/export/config-iaudiox5.h
index 746ca26e31..b33bae913b 100644
--- a/firmware/export/config-iaudiox5.h
+++ b/firmware/export/config-iaudiox5.h
@@ -23,6 +23,8 @@
#define LCD_DEPTH 16 /* pseudo 262.144 colors */
#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+#define IRAM_LCDFRAMEBUFFER IDATA_ATTR /* put the lcd frame buffer in IRAM */
+
/* remote LCD */
#define LCD_REMOTE_WIDTH 128
#define LCD_REMOTE_HEIGHT 64
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 5420cb37f4..d919b8b4f6 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -229,4 +229,9 @@
#define IBSS_ATTR
#endif
+#ifndef IRAM_LCDFRAMEBUFFER
+/* if the LCD framebuffer has not been moved to IRAM, define it empty here */
+#define IRAM_LCDFRAMEBUFFER
+#endif
+
#endif