summaryrefslogtreecommitdiff
path: root/firmware/target/arm/philips
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2012-02-22 21:18:05 +1100
committerJonathan Gordon <rockbox@jdgordon.info>2012-02-28 11:44:59 +1100
commitb37e6bc8c119289aca8740dd5e3b60d72f9d6b40 (patch)
tree7ee9d491811c950943f0fc068d2e2b460ff05c6d /firmware/target/arm/philips
parent15c69b8bafc3e89e1a825b5bbefef4a97f0001b1 (diff)
downloadrockbox-b37e6bc8c119289aca8740dd5e3b60d72f9d6b40.tar.gz
rockbox-b37e6bc8c119289aca8740dd5e3b60d72f9d6b40.zip
lcd drivers: Convert lcd_[remote_]framebuffer to a pointer
Change all lcd drivers to using a pointer to the static framebuffer instead of directly accessing the static array. This will let us later do fun things like dynamic framebuffer sizes (RaaA) or ability to use different buffers for different layers (dynamic skin backdrops!) Change-Id: I0a4d58a9d7b55e6c932131b929e5d4c9f9414b06
Diffstat (limited to 'firmware/target/arm/philips')
-rw-r--r--firmware/target/arm/philips/hdd1630/lcd-hdd1630.c2
-rw-r--r--firmware/target/arm/philips/hdd6330/lcd-hdd6330.c2
-rw-r--r--firmware/target/arm/philips/sa9200/lcd-sa9200.c6
3 files changed, 5 insertions, 5 deletions
diff --git a/firmware/target/arm/philips/hdd1630/lcd-hdd1630.c b/firmware/target/arm/philips/hdd1630/lcd-hdd1630.c
index 500120a432..28bef09463 100644
--- a/firmware/target/arm/philips/hdd1630/lcd-hdd1630.c
+++ b/firmware/target/arm/philips/hdd1630/lcd-hdd1630.c
@@ -373,7 +373,7 @@ void lcd_update_rect(int x, int y, int width, int height)
373 if ((width <= 0) || (height <= 0)) 373 if ((width <= 0) || (height <= 0))
374 return; /* Nothing left to do. */ 374 return; /* Nothing left to do. */
375 375
376 addr = &lcd_framebuffer[y][x]; 376 addr = FBADDR(x,y);
377 377
378 lcd_send_cmd(CASET); 378 lcd_send_cmd(CASET);
379 lcd_send_data(x); 379 lcd_send_data(x);
diff --git a/firmware/target/arm/philips/hdd6330/lcd-hdd6330.c b/firmware/target/arm/philips/hdd6330/lcd-hdd6330.c
index 328c270b5e..cdd3064bba 100644
--- a/firmware/target/arm/philips/hdd6330/lcd-hdd6330.c
+++ b/firmware/target/arm/philips/hdd6330/lcd-hdd6330.c
@@ -285,7 +285,7 @@ void lcd_update_rect(int x, int y, int width, int height)
285 285
286 lcd_send_reg(LCD_REG_WRITE_DATA_2_GRAM); 286 lcd_send_reg(LCD_REG_WRITE_DATA_2_GRAM);
287 287
288 addr = (unsigned long*)&lcd_framebuffer[y][x]; 288 addr = (unsigned long*)FBADDR(x,y);
289 289
290 while (height > 0) 290 while (height > 0)
291 { 291 {
diff --git a/firmware/target/arm/philips/sa9200/lcd-sa9200.c b/firmware/target/arm/philips/sa9200/lcd-sa9200.c
index 3db308ed09..e30a298045 100644
--- a/firmware/target/arm/philips/sa9200/lcd-sa9200.c
+++ b/firmware/target/arm/philips/sa9200/lcd-sa9200.c
@@ -495,8 +495,8 @@ void lcd_update(void)
495 if (!display_on) 495 if (!display_on)
496 return; 496 return;
497 497
498 addr = &lcd_framebuffer[0][0]; 498 addr = FBADDR(0,0);
499 end = &lcd_framebuffer[LCD_HEIGHT - 1][LCD_WIDTH]; 499 end = FBADDR(LCD_WIDTH,LCD_HEIGHT - 1);
500 500
501 lcd_write_reg(R_HORIZ_RAM_ADDR_POS, (LCD_WIDTH - 1) << 8); 501 lcd_write_reg(R_HORIZ_RAM_ADDR_POS, (LCD_WIDTH - 1) << 8);
502 lcd_write_reg(R_VERT_RAM_ADDR_POS, (LCD_HEIGHT - 1) << 8); 502 lcd_write_reg(R_VERT_RAM_ADDR_POS, (LCD_HEIGHT - 1) << 8);
@@ -533,7 +533,7 @@ void lcd_update_rect(int x, int y, int width, int height)
533 if (height <= 0) 533 if (height <= 0)
534 return; /* Nothing left to do. */ 534 return; /* Nothing left to do. */
535 535
536 addr = &lcd_framebuffer[y][x]; 536 addr = FBADDR(x,y);
537 537
538 lcd_write_reg(R_HORIZ_RAM_ADDR_POS, ((x + width - 1) << 8) | x); 538 lcd_write_reg(R_HORIZ_RAM_ADDR_POS, ((x + width - 1) << 8) | x);
539 lcd_write_reg(R_VERT_RAM_ADDR_POS, ((y + height - 1) << 8) | y); 539 lcd_write_reg(R_VERT_RAM_ADDR_POS, ((y + height - 1) << 8) | y);