diff options
author | Andrew Ryabinin <ryabinin.a.a@gmail.com> | 2012-09-25 11:41:12 +0400 |
---|---|---|
committer | Marcin Bukat <marcin.bukat@gmail.com> | 2012-09-27 09:42:44 +0200 |
commit | 84134f737fc4643cad5eb50fef3bae0df657f054 (patch) | |
tree | b2b0b28a4723a2eef9a340f6bc7a18e796ab1b5b /firmware/target/arm/rk27xx/lcdif-rk27xx.h | |
parent | f636aa07dfb541b5828d44e8168e7b36e5ad8898 (diff) | |
download | rockbox-84134f737fc4643cad5eb50fef3bae0df657f054.tar.gz rockbox-84134f737fc4643cad5eb50fef3bae0df657f054.zip |
rk27xx lcd code rework
Use DMA engine for fullscreen updates and bypass mode for partial
updates. This gives major boost on rk27generic:
default ARM:AHB:APB 200:100:50
HEAD 1/1: 26.3fps 1/4: 105.0fps
patched 1/1: 116.5fps 1/4: 249.5fps
with freq scalling NORMAL mode ARM:AHB:APB 50:50:50
HEAD 1/1: 13.1fps 1/4: 52.5fps
patched 1/1: 54.5fps 1/4: 119.0fps
Tested on rk27generic noname DAP and on Hifimans.
Change-Id: Id9dd4d2d61542c7ea6b5c6336b170d6357cefde9
Diffstat (limited to 'firmware/target/arm/rk27xx/lcdif-rk27xx.h')
-rw-r--r-- | firmware/target/arm/rk27xx/lcdif-rk27xx.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/target/arm/rk27xx/lcdif-rk27xx.h b/firmware/target/arm/rk27xx/lcdif-rk27xx.h index 1d7b810fa2..ea2dbea255 100644 --- a/firmware/target/arm/rk27xx/lcdif-rk27xx.h +++ b/firmware/target/arm/rk27xx/lcdif-rk27xx.h | |||
@@ -6,11 +6,12 @@ enum lcdif_mode_t { | |||
6 | LCDIF_18BIT | 6 | LCDIF_18BIT |
7 | }; | 7 | }; |
8 | 8 | ||
9 | unsigned int lcd_data_transform(unsigned int data); | ||
10 | |||
11 | void lcd_cmd(unsigned int cmd); | 9 | void lcd_cmd(unsigned int cmd); |
12 | void lcd_data(unsigned int data); | 10 | void lcd_data(unsigned int data); |
13 | void lcd_write_reg(unsigned int reg, unsigned int val); | 11 | void lcd_write_reg(unsigned int reg, unsigned int val); |
14 | void lcdif_init(enum lcdif_mode_t mode); | 12 | void lcdctrl_bypass(unsigned int on_off); |
13 | void lcd_display_init(void); | ||
14 | |||
15 | void lcd_set_gram_area(int x, int y, int width, int height); | ||
15 | 16 | ||
16 | #endif /* _LCDIF_RK27XX_H */ | 17 | #endif /* _LCDIF_RK27XX_H */ |