summaryrefslogtreecommitdiff
path: root/firmware/target/arm/rk27xx/ma/lcd-ma.c
diff options
context:
space:
mode:
authorMarcin Bukat <marcin.bukat@gmail.com>2013-05-11 12:55:23 +0200
committerMarcin Bukat <marcin.bukat@gmail.com>2013-05-11 12:55:23 +0200
commit440872bb4277c882ece20339fa4b2525c1c4ed2a (patch)
tree3a64dfdb95e3efe6859b02c0881a8ef5aa53970d /firmware/target/arm/rk27xx/ma/lcd-ma.c
parentca8154741fd01e4b11461ce522da7d5e30a12d6e (diff)
downloadrockbox-440872bb4277c882ece20339fa4b2525c1c4ed2a.tar.gz
rockbox-440872bb4277c882ece20339fa4b2525c1c4ed2a.zip
rk27xx: Use DMA for lcd_update_rect()
This speeds up partial updates quite a bit but what is more important it opens up a way to efficiently implement lcd_blit_yuv() using hw colorspace conversion. Tested on rk27generic, hm60x v1 and v2 and on ma9. Benchmark for hm60x v1 (by mortalis): HEAD patched 1/1 141fps 138fps 1/4 315fps 395fps Change-Id: I4cc115786c3139000fc14c49a7290e289cfd6c42
Diffstat (limited to 'firmware/target/arm/rk27xx/ma/lcd-ma.c')
-rw-r--r--firmware/target/arm/rk27xx/ma/lcd-ma.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/firmware/target/arm/rk27xx/ma/lcd-ma.c b/firmware/target/arm/rk27xx/ma/lcd-ma.c
index 3c3d9fb097..a35f13ba3a 100644
--- a/firmware/target/arm/rk27xx/ma/lcd-ma.c
+++ b/firmware/target/arm/rk27xx/ma/lcd-ma.c
@@ -172,20 +172,6 @@ void lcd_set_gram_area(int x_start, int y_start,
172 LCDC_CTRL &= ~RGB24B; 172 LCDC_CTRL &= ~RGB24B;
173} 173}
174 174
175void lcd_update_rect(int x, int y, int width, int height)
176{
177 int px = x, py = y;
178 int pxmax = x + width, pymax = y + height;
179
180 lcd_set_gram_area(x, y, pxmax-1, pymax-1);
181
182 for (py = y; py < pymax; py++)
183 for (px = x; px < pxmax; px++)
184 LCD_DATA = (*FBADDR(px, py));
185
186}
187
188
189bool lcd_active() 175bool lcd_active()
190{ 176{
191 return display_on; 177 return display_on;