From 7dd548c6970daed5cf414c287f61da39bf1631a8 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 31 Aug 2009 15:54:25 +0000 Subject: Speed up the Fuze's LCD by a factor of ~2.1 (lcd_update()) by using 32bit transfers when possible. Unaligned (to 4byte boundary) and odd (where the amount of data is not an integer multiple of 32bit) are still supported. Even those still have a speedup of >2. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22574 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/as3525.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'firmware/export/as3525.h') diff --git a/firmware/export/as3525.h b/firmware/export/as3525.h index cf8d11ba05..d2b5a4fef2 100644 --- a/firmware/export/as3525.h +++ b/firmware/export/as3525.h @@ -114,7 +114,10 @@ #define DBOP_TIMPOL_23 (*(volatile unsigned long *)(DBOP_BASE + 0x04)) #define DBOP_CTRL (*(volatile unsigned long *)(DBOP_BASE + 0x08)) #define DBOP_STAT (*(volatile unsigned long *)(DBOP_BASE + 0x0C)) -#define DBOP_DOUT (*(volatile unsigned short *)(DBOP_BASE + 0x10)) +/* default is 16bit, but we switch to 32bit for some targets for better speed */ +#define DBOP_DOUT (*(volatile unsigned short*)(DBOP_BASE + 0x10)) +#define DBOP_DOUT16 (*(volatile unsigned short*)(DBOP_BASE + 0x10)) +#define DBOP_DOUT32 (*(volatile unsigned long *)(DBOP_BASE + 0x10)) #define DBOP_DIN (*(volatile unsigned short*)(DBOP_BASE + 0x14)) -- cgit v1.2.3