diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2012-02-22 21:18:05 +1100 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2012-02-28 11:44:59 +1100 |
commit | b37e6bc8c119289aca8740dd5e3b60d72f9d6b40 (patch) | |
tree | 7ee9d491811c950943f0fc068d2e2b460ff05c6d /firmware/target/coldfire/iriver | |
parent | 15c69b8bafc3e89e1a825b5bbefef4a97f0001b1 (diff) | |
download | rockbox-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/coldfire/iriver')
-rw-r--r-- | firmware/target/coldfire/iriver/h100/lcd-h100.c | 4 | ||||
-rw-r--r-- | firmware/target/coldfire/iriver/h300/lcd-h300.c | 4 | ||||
-rw-r--r-- | firmware/target/coldfire/iriver/lcd-remote-iriver.c | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/firmware/target/coldfire/iriver/h100/lcd-h100.c b/firmware/target/coldfire/iriver/h100/lcd-h100.c index ae77affd18..b13751b9eb 100644 --- a/firmware/target/coldfire/iriver/h100/lcd-h100.c +++ b/firmware/target/coldfire/iriver/h100/lcd-h100.c | |||
@@ -216,7 +216,7 @@ void lcd_update(void) | |||
216 | lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1); | 216 | lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1); |
217 | 217 | ||
218 | lcd_write_command(LCD_CNTL_DATA_WRITE); | 218 | lcd_write_command(LCD_CNTL_DATA_WRITE); |
219 | lcd_write_data (lcd_framebuffer[y], LCD_WIDTH); | 219 | lcd_write_data (FBADDR(0, y), LCD_WIDTH); |
220 | } | 220 | } |
221 | } | 221 | } |
222 | 222 | ||
@@ -244,6 +244,6 @@ void lcd_update_rect(int x, int y, int width, int height) | |||
244 | lcd_write_command_ex(LCD_CNTL_COLUMN, x, -1); | 244 | lcd_write_command_ex(LCD_CNTL_COLUMN, x, -1); |
245 | 245 | ||
246 | lcd_write_command(LCD_CNTL_DATA_WRITE); | 246 | lcd_write_command(LCD_CNTL_DATA_WRITE); |
247 | lcd_write_data (&lcd_framebuffer[y][x], width); | 247 | lcd_write_data (FBADDR(x,y), width); |
248 | } | 248 | } |
249 | } | 249 | } |
diff --git a/firmware/target/coldfire/iriver/h300/lcd-h300.c b/firmware/target/coldfire/iriver/h300/lcd-h300.c index 6c21a7e260..191c769c97 100644 --- a/firmware/target/coldfire/iriver/h300/lcd-h300.c +++ b/firmware/target/coldfire/iriver/h300/lcd-h300.c | |||
@@ -447,13 +447,13 @@ void lcd_update_rect(int x, int y, int width, int height) | |||
447 | if (width == LCD_WIDTH) | 447 | if (width == LCD_WIDTH) |
448 | { | 448 | { |
449 | dma_count = 1; | 449 | dma_count = 1; |
450 | SAR3 = (unsigned long)lcd_framebuffer[y]; | 450 | SAR3 = (unsigned long)FBADDR(0, y); |
451 | BCR3 = (LCD_WIDTH*sizeof(fb_data)) * height; | 451 | BCR3 = (LCD_WIDTH*sizeof(fb_data)) * height; |
452 | } | 452 | } |
453 | else | 453 | else |
454 | { | 454 | { |
455 | dma_count = height; | 455 | dma_count = height; |
456 | SAR3 = dma_addr = (unsigned long)&lcd_framebuffer[y][x]; | 456 | SAR3 = dma_addr = (unsigned long)FBADDR(x,y); |
457 | BCR3 = dma_len = width * sizeof(fb_data); | 457 | BCR3 = dma_len = width * sizeof(fb_data); |
458 | } | 458 | } |
459 | DCR3 = DMA_INT | DMA_AA | DMA_BWC(1) | 459 | DCR3 = DMA_INT | DMA_AA | DMA_BWC(1) |
diff --git a/firmware/target/coldfire/iriver/lcd-remote-iriver.c b/firmware/target/coldfire/iriver/lcd-remote-iriver.c index 0ff041f033..03c0e40dbe 100644 --- a/firmware/target/coldfire/iriver/lcd-remote-iriver.c +++ b/firmware/target/coldfire/iriver/lcd-remote-iriver.c | |||
@@ -312,7 +312,7 @@ void lcd_remote_update(void) | |||
312 | lcd_remote_write_command(LCD_REMOTE_CNTL_SET_PAGE_ADDRESS | y); | 312 | lcd_remote_write_command(LCD_REMOTE_CNTL_SET_PAGE_ADDRESS | y); |
313 | lcd_remote_write_command(LCD_REMOTE_CNTL_HIGHCOL | ((xoffset >> 4) & 0xf)); | 313 | lcd_remote_write_command(LCD_REMOTE_CNTL_HIGHCOL | ((xoffset >> 4) & 0xf)); |
314 | lcd_remote_write_command(LCD_REMOTE_CNTL_LOWCOL | (xoffset & 0xf)); | 314 | lcd_remote_write_command(LCD_REMOTE_CNTL_LOWCOL | (xoffset & 0xf)); |
315 | lcd_remote_write_data(lcd_remote_framebuffer[y], LCD_REMOTE_WIDTH); | 315 | lcd_remote_write_data(FBREMOTEADDR(0, y), LCD_REMOTE_WIDTH); |
316 | } | 316 | } |
317 | } | 317 | } |
318 | 318 | ||
@@ -346,6 +346,6 @@ void lcd_remote_update_rect(int x, int y, int width, int height) | |||
346 | lcd_remote_write_command(LCD_REMOTE_CNTL_SET_PAGE_ADDRESS | y); | 346 | lcd_remote_write_command(LCD_REMOTE_CNTL_SET_PAGE_ADDRESS | y); |
347 | lcd_remote_write_command(LCD_REMOTE_CNTL_HIGHCOL | (((x+xoffset) >> 4) & 0xf)); | 347 | lcd_remote_write_command(LCD_REMOTE_CNTL_HIGHCOL | (((x+xoffset) >> 4) & 0xf)); |
348 | lcd_remote_write_command(LCD_REMOTE_CNTL_LOWCOL | ((x+xoffset) & 0xf)); | 348 | lcd_remote_write_command(LCD_REMOTE_CNTL_LOWCOL | ((x+xoffset) & 0xf)); |
349 | lcd_remote_write_data(&lcd_remote_framebuffer[y][x], width); | 349 | lcd_remote_write_data(FBREMOTEADDR(x,y), width); |
350 | } | 350 | } |
351 | } | 351 | } |