From 50d2b1ebf780110465499b9ea80a163a4f8c9b24 Mon Sep 17 00:00:00 2001 From: kugel Date: Sat, 24 Oct 2009 16:01:53 +0000 Subject: [PATCH] Speed up lcd_update_rect by ~2.5% by counting towards 0 in the loop. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23329 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c | 5 ++++- firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c index 7c3ccc2c0..24fc4eae5 100644 --- a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c +++ b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c @@ -556,12 +556,15 @@ void lcd_update_rect(int x, int y, int width, int height) ptr = (fb_data*)&lcd_framebuffer[y][x]; + + height = ymax - y - 1; /* fix height */ + do { lcd_write_data(ptr, width); ptr += LCD_WIDTH; } - while (++y <= ymax); + while (--height > 0); lcd_busy = false; } /* lcd_update_rect */ diff --git a/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c b/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c index 21ecdf8af..c22382f19 100644 --- a/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c +++ b/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c @@ -405,12 +405,13 @@ void lcd_update_rect(int x, int y, int width, int height) ptr = &lcd_framebuffer[y][x]; + height = ymax - y - 1; /* fix height */ do { lcd_write_data(ptr, width); ptr += LCD_WIDTH; } - while (++y <= ymax); + while (--height > 0); lcd_busy = false; } -- 2.11.4.GIT