From b37e6bc8c119289aca8740dd5e3b60d72f9d6b40 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Wed, 22 Feb 2012 21:18:05 +1100 Subject: 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 --- firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c | 6 +++--- firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c | 8 ++++---- firmware/target/arm/tms320dm320/mrobe-500/lcd-remote-mr500.c | 2 +- firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) (limited to 'firmware/target/arm/tms320dm320') diff --git a/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c b/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c index 204a99f87c..5f623dc239 100644 --- a/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c +++ b/firmware/target/arm/tms320dm320/creative-zvm/lcd-creativezvm.c @@ -380,7 +380,7 @@ void lcd_update_rect(int x, int y, int width, int height) #if CONFIG_ORIENTATION == SCREEN_PORTRAIT dst = (fb_data *)FRAME + LCD_WIDTH*y + x; - src = &lcd_framebuffer[y][x]; + src = FBADDR(x,y); /* Copy part of the Rockbox framebuffer to the second framebuffer */ if (width < LCD_WIDTH) @@ -394,7 +394,7 @@ void lcd_update_rect(int x, int y, int width, int height) lcd_copy_buffer_rect(dst, src, LCD_WIDTH*height, 1); } #else - src = &lcd_framebuffer[y][x]; + src = FBADDR(x,y); register int xc, yc; register fb_data *start=FRAME + LCD_HEIGHT*(LCD_WIDTH-x-1) + y + 1; @@ -419,7 +419,7 @@ void lcd_update(void) if (!lcd_on || direct_fb_access) return; #if CONFIG_ORIENTATION == SCREEN_PORTRAIT - lcd_copy_buffer_rect((fb_data *)FRAME, &lcd_framebuffer[0][0], + lcd_copy_buffer_rect((fb_data *)FRAME, FBADDR(0,0), LCD_WIDTH*LCD_HEIGHT, 1); #else lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT); diff --git a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c index 38631401f9..c3a96a3efd 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c @@ -500,12 +500,12 @@ void lcd_update_rect(int x, int y, int width, int height) if (width < LCD_WIDTH) { /* Not full width - do line-by-line */ - lcd_copy_buffer_rect(dst, &lcd_framebuffer[y][x], width, height); + lcd_copy_buffer_rect(dst, FBADDR(x,y), width, height); } else { /* Full width - copy as one line */ - lcd_copy_buffer_rect(dst, &lcd_framebuffer[y][x], LCD_WIDTH*height, 1); + lcd_copy_buffer_rect(dst, FBADDR(x,y), LCD_WIDTH*height, 1); } #endif @@ -519,7 +519,7 @@ void lcd_update_rect(int x, int y, int width, int height) #else fb_data *src; fb_data *dst; - src = &lcd_framebuffer[0][0] + (x*LCD_HEIGHT + y); + src = FBADDR(0,0) + (x*LCD_HEIGHT + y); dst = FRAME + (LCD_HEIGHT*(LCD_WIDTH-1) - x * LCD_HEIGHT + y); while(width > 0) { @@ -532,7 +532,7 @@ void lcd_update_rect(int x, int y, int width, int height) #else register fb_data *dst, *src; - src = &lcd_framebuffer[y][x]; + src = FBADDR(x,y); dst=FRAME + (LCD_NATIVE_WIDTH*(LCD_NATIVE_HEIGHT-1)) - LCD_NATIVE_WIDTH*x + y ; diff --git a/firmware/target/arm/tms320dm320/mrobe-500/lcd-remote-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/lcd-remote-mr500.c index d8f55ee63d..5b8b2f9437 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/lcd-remote-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/lcd-remote-mr500.c @@ -246,7 +246,7 @@ static void remote_tick(void) for(i=7; i>3][i+remote_draw_x-7]; + FBREMOTEADDR(i+remote_draw_x-7, remote_payload[4]>>3); } } diff --git a/firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c b/firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c index 403ce182be..27eb0b407a 100644 --- a/firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c +++ b/firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c @@ -167,7 +167,7 @@ static void dma_lcd_copy_buffer_rect(int x, int y, int width, int height) /* Set source and destination addresses */ dst = (char*)(FRAME + LCD_WIDTH*y + x); - src = (char*)(&lcd_framebuffer[y][x]); + src = (char*)(FBADDR(x,y)); /* Flush cache to memory */ commit_dcache(); -- cgit v1.2.3