summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire
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/coldfire
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/coldfire')
-rw-r--r--firmware/target/coldfire/iaudio/lcd-remote-iaudio.c4
-rw-r--r--firmware/target/coldfire/iaudio/m3/lcd-m3.c4
-rw-r--r--firmware/target/coldfire/iaudio/m5/lcd-m5.c4
-rw-r--r--firmware/target/coldfire/iaudio/x5/lcd-x5.c2
-rw-r--r--firmware/target/coldfire/iriver/h100/lcd-h100.c4
-rw-r--r--firmware/target/coldfire/iriver/h300/lcd-h300.c4
-rw-r--r--firmware/target/coldfire/iriver/lcd-remote-iriver.c4
-rw-r--r--firmware/target/coldfire/mpio/hd200/lcd-hd200.c4
-rw-r--r--firmware/target/coldfire/mpio/hd300/lcd-hd300.c4
9 files changed, 17 insertions, 17 deletions
diff --git a/firmware/target/coldfire/iaudio/lcd-remote-iaudio.c b/firmware/target/coldfire/iaudio/lcd-remote-iaudio.c
index 88fc6fc563..e84760e197 100644
--- a/firmware/target/coldfire/iaudio/lcd-remote-iaudio.c
+++ b/firmware/target/coldfire/iaudio/lcd-remote-iaudio.c
@@ -228,7 +228,7 @@ void lcd_remote_update(void)
228 have to update one page at a time. */ 228 have to update one page at a time. */
229 lcd_remote_write_command(LCD_SET_PAGE | (y > 5 ? y + 2 : y)); 229 lcd_remote_write_command(LCD_SET_PAGE | (y > 5 ? y + 2 : y));
230 lcd_remote_write_command_ex(LCD_SET_COLUMN | 0, 0); 230 lcd_remote_write_command_ex(LCD_SET_COLUMN | 0, 0);
231 lcd_remote_write_data(lcd_remote_framebuffer[y], LCD_REMOTE_WIDTH); 231 lcd_remote_write_data(FBREMOTEADDR(0, y), LCD_REMOTE_WIDTH);
232 } 232 }
233 } 233 }
234} 234}
@@ -260,7 +260,7 @@ void lcd_remote_update_rect(int x, int y, int width, int height)
260 lcd_remote_write_command_ex(LCD_SET_COLUMN | ((x >> 4) & 0xf), 260 lcd_remote_write_command_ex(LCD_SET_COLUMN | ((x >> 4) & 0xf),
261 x & 0xf); 261 x & 0xf);
262 262
263 lcd_remote_write_data(&lcd_remote_framebuffer[y][x], width); 263 lcd_remote_write_data(FBREMOTEADDR(x,y), width);
264 } 264 }
265 } 265 }
266} 266}
diff --git a/firmware/target/coldfire/iaudio/m3/lcd-m3.c b/firmware/target/coldfire/iaudio/m3/lcd-m3.c
index 380789e7f7..1d61daf323 100644
--- a/firmware/target/coldfire/iaudio/m3/lcd-m3.c
+++ b/firmware/target/coldfire/iaudio/m3/lcd-m3.c
@@ -265,7 +265,7 @@ void lcd_update(void)
265 have to update one page at a time. */ 265 have to update one page at a time. */
266 lcd_write_command(LCD_SET_PAGE | (y > 5 ? y + 2 : y)); 266 lcd_write_command(LCD_SET_PAGE | (y > 5 ? y + 2 : y));
267 lcd_write_command_e(LCD_SET_COLUMN | 0, 0); 267 lcd_write_command_e(LCD_SET_COLUMN | 0, 0);
268 lcd_write_data(lcd_framebuffer[y], LCD_WIDTH); 268 lcd_write_data(FBADDR(0, y), LCD_WIDTH);
269 } 269 }
270 } 270 }
271} 271}
@@ -295,7 +295,7 @@ void lcd_update_rect(int x, int y, int width, int height)
295 lcd_write_command(LCD_SET_PAGE | ((y > 5 ? y + 2 : y) & 0xf)); 295 lcd_write_command(LCD_SET_PAGE | ((y > 5 ? y + 2 : y) & 0xf));
296 lcd_write_command_e(LCD_SET_COLUMN | ((x >> 4) & 0xf), x & 0xf); 296 lcd_write_command_e(LCD_SET_COLUMN | ((x >> 4) & 0xf), x & 0xf);
297 297
298 lcd_write_data(&lcd_framebuffer[y][x], width); 298 lcd_write_data(FBADDR(x,y), width);
299 } 299 }
300 } 300 }
301} 301}
diff --git a/firmware/target/coldfire/iaudio/m5/lcd-m5.c b/firmware/target/coldfire/iaudio/m5/lcd-m5.c
index ae8f14bb25..8f022adf96 100644
--- a/firmware/target/coldfire/iaudio/m5/lcd-m5.c
+++ b/firmware/target/coldfire/iaudio/m5/lcd-m5.c
@@ -207,7 +207,7 @@ void lcd_update(void)
207 lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1); 207 lcd_write_command_ex(LCD_CNTL_COLUMN, 0, -1);
208 208
209 lcd_write_command(LCD_CNTL_DATA_WRITE); 209 lcd_write_command(LCD_CNTL_DATA_WRITE);
210 lcd_write_data (lcd_framebuffer[y], LCD_WIDTH); 210 lcd_write_data (FBADDR(0, y), LCD_WIDTH);
211 } 211 }
212} 212}
213 213
@@ -235,6 +235,6 @@ void lcd_update_rect(int x, int y, int width, int height)
235 lcd_write_command_ex(LCD_CNTL_COLUMN, x, -1); 235 lcd_write_command_ex(LCD_CNTL_COLUMN, x, -1);
236 236
237 lcd_write_command(LCD_CNTL_DATA_WRITE); 237 lcd_write_command(LCD_CNTL_DATA_WRITE);
238 lcd_write_data (&lcd_framebuffer[y][x], width); 238 lcd_write_data (FBADDR(x,y), width);
239 } 239 }
240} 240}
diff --git a/firmware/target/coldfire/iaudio/x5/lcd-x5.c b/firmware/target/coldfire/iaudio/x5/lcd-x5.c
index 19b0725ce4..cf6e301c16 100644
--- a/firmware/target/coldfire/iaudio/x5/lcd-x5.c
+++ b/firmware/target/coldfire/iaudio/x5/lcd-x5.c
@@ -530,7 +530,7 @@ void lcd_update_rect(int x, int y, int width, int height)
530 530
531 lcd_begin_write_gram(); 531 lcd_begin_write_gram();
532 532
533 ptr = (unsigned short *)&lcd_framebuffer[y][x]; 533 ptr = (unsigned short *)FBADDR(x,y);
534 534
535 do 535 do
536 { 536 {
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}
diff --git a/firmware/target/coldfire/mpio/hd200/lcd-hd200.c b/firmware/target/coldfire/mpio/hd200/lcd-hd200.c
index 879352f7b4..3c00959745 100644
--- a/firmware/target/coldfire/mpio/hd200/lcd-hd200.c
+++ b/firmware/target/coldfire/mpio/hd200/lcd-hd200.c
@@ -187,7 +187,7 @@ void DMA3(void)
187 lcd_write_command_e(LCD_SET_COLUMN | ((column >> 4) & 0xf), 187 lcd_write_command_e(LCD_SET_COLUMN | ((column >> 4) & 0xf),
188 column & 0x0f); 188 column & 0x0f);
189 189
190 SAR3 = (unsigned long)&lcd_framebuffer[page][column]; 190 SAR3 = (unsigned long)FBADDR(column,page);
191 BCR3 = dma_len; 191 BCR3 = dma_len;
192 DCR3 = DMA_INT | DMA_AA | DMA_BWC(1) 192 DCR3 = DMA_INT | DMA_AA | DMA_BWC(1)
193 | DMA_SINC | DMA_SSIZE(DMA_SIZE_LINE) 193 | DMA_SINC | DMA_SSIZE(DMA_SIZE_LINE)
@@ -261,7 +261,7 @@ void lcd_update_rect(int x, int y, int width, int height)
261 dma_count = ymax - y + 1; 261 dma_count = ymax - y + 1;
262 262
263 /* Initialize DMA transfer */ 263 /* Initialize DMA transfer */
264 SAR3 = (unsigned long)&lcd_framebuffer[page][column]; 264 SAR3 = (unsigned long)FBADDR(column,page);
265 BCR3 = dma_len; 265 BCR3 = dma_len;
266 DCR3 = DMA_INT | DMA_AA | DMA_BWC(1) 266 DCR3 = DMA_INT | DMA_AA | DMA_BWC(1)
267 | DMA_SINC | DMA_SSIZE(DMA_SIZE_LINE) 267 | DMA_SINC | DMA_SSIZE(DMA_SIZE_LINE)
diff --git a/firmware/target/coldfire/mpio/hd300/lcd-hd300.c b/firmware/target/coldfire/mpio/hd300/lcd-hd300.c
index 31087a5d43..509ed4cd53 100644
--- a/firmware/target/coldfire/mpio/hd300/lcd-hd300.c
+++ b/firmware/target/coldfire/mpio/hd300/lcd-hd300.c
@@ -211,7 +211,7 @@ void lcd_update(void)
211 lcd_write_command(LCD_CNTL_DATA_WRITE); 211 lcd_write_command(LCD_CNTL_DATA_WRITE);
212 212
213 /* Copy display bitmap to hardware */ 213 /* Copy display bitmap to hardware */
214 lcd_write_data (&lcd_framebuffer[0][0], LCD_WIDTH*LCD_FBHEIGHT); 214 lcd_write_data (FBADDR(0,0), LCD_WIDTH*LCD_FBHEIGHT);
215} 215}
216 216
217/* Update a fraction of the display. */ 217/* Update a fraction of the display. */
@@ -238,6 +238,6 @@ void lcd_update_rect(int x, int y, int width, int height)
238 lcd_write_command_ex(LCD_CNTL_COLUMN, x, -1); 238 lcd_write_command_ex(LCD_CNTL_COLUMN, x, -1);
239 239
240 lcd_write_command(LCD_CNTL_DATA_WRITE); 240 lcd_write_command(LCD_CNTL_DATA_WRITE);
241 lcd_write_data (&lcd_framebuffer[y][x], width); 241 lcd_write_data (FBADDR(x,y), width);
242 } 242 }
243} 243}