diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2006-04-11 10:37:37 +0000 |
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2006-04-11 10:37:37 +0000 |
| commit | d2848f3d7226d59d2b63c781cac10123587e36ea (patch) | |
| tree | b11f5804c0162c700c66f5872bd1cc5eeac24ed9 | |
| parent | 85212152118ccb63ecc4664083ab37cb1c3d8298 (diff) | |
| download | rockbox-d2848f3d7226d59d2b63c781cac10123587e36ea.zip rockbox-d2848f3d7226d59d2b63c781cac10123587e36ea.tar.gz rockbox-d2848f3d7226d59d2b63c781cac10123587e36ea.tar.bz2 rockbox-d2848f3d7226d59d2b63c781cac10123587e36ea.tar.xz | |
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
| -rw-r--r-- | apps/plugins/plugin.lds | 2 | ||||
| -rw-r--r-- | firmware/app.lds | 2 | ||||
| -rw-r--r-- | firmware/drivers/lcd-16bit.c | 2 | ||||
| -rw-r--r-- | firmware/export/config-iaudiox5.h | 2 | ||||
| -rw-r--r-- | firmware/export/config.h | 5 |
5 files changed, 10 insertions, 3 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds index 010a75e..eb21dd6 100644 --- a/apps/plugins/plugin.lds +++ b/apps/plugins/plugin.lds @@ -30,7 +30,7 @@ OUTPUT_FORMAT(elf32-sh) #define IRAMSIZE 0xc000 #elif defined(IAUDIO_X5) #define DRAMORIG 0x31000000 -#define IRAMORIG 0x1000c000 +#define IRAMORIG 0x10014000 #define IRAMSIZE 0xc000 #elif defined(ARCH_IPOD) #define DRAMORIG 0x00000000 diff --git a/firmware/app.lds b/firmware/app.lds index 0d7c191..3416f5c 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 e98403a..d337ea9 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 746ca26..b33bae9 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 5420cb3..d919b8b 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 |