summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcin Bukat <marcin.bukat@gmail.com>2010-12-11 22:36:28 +0000
committerMarcin Bukat <marcin.bukat@gmail.com>2010-12-11 22:36:28 +0000
commit3eee12ed234da74243c3e90fbd5f4f35256370c7 (patch)
treeb6702de968268226e0db47e9e2968e7eb243c5c2
parentcddc042e99753b5adfe2079b25603cc404a21f57 (diff)
downloadrockbox-3eee12ed234da74243c3e90fbd5f4f35256370c7.tar.gz
rockbox-3eee12ed234da74243c3e90fbd5f4f35256370c7.zip
HD300 - tweak lcd_update() (4-5% speedup)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28797 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/coldfire/mpio/hd300/lcd-hd300.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/firmware/target/coldfire/mpio/hd300/lcd-hd300.c b/firmware/target/coldfire/mpio/hd300/lcd-hd300.c
index 10ee59571e..31087a5d43 100644
--- a/firmware/target/coldfire/mpio/hd300/lcd-hd300.c
+++ b/firmware/target/coldfire/mpio/hd300/lcd-hd300.c
@@ -202,17 +202,16 @@ void lcd_blit_grey_phase(unsigned char *values, unsigned char *phases,
void lcd_update(void) ICODE_ATTR;
void lcd_update(void)
{
- int y;
- /* Copy display bitmap to hardware */
- for (y = 0; y < LCD_FBHEIGHT; y++)
- {
- lcd_write_command_ex(LCD_CNTL_PAGE, y, -1);
- lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1);
+ /* Setup initial PAGE and COLUMN address
+ * the addressing circuit will take care of the rest
+ */
+ lcd_write_command_ex(LCD_CNTL_PAGE, 0, -1);
+ lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1);
+ lcd_write_command(LCD_CNTL_DATA_WRITE);
- lcd_write_command(LCD_CNTL_DATA_WRITE);
- lcd_write_data (lcd_framebuffer[y], LCD_WIDTH);
- }
+ /* Copy display bitmap to hardware */
+ lcd_write_data (&lcd_framebuffer[0][0], LCD_WIDTH*LCD_FBHEIGHT);
}
/* Update a fraction of the display. */