Skip to content
Snippets Groups Projects
Commit db0d47dd authored by Eric Nelson's avatar Eric Nelson Committed by Anatolij Gustschin
Browse files

cfb_console: flush FB cache at end of public functions


Removed internal cache_flush operations and placed a flush of the
entire frame-buffer at the end of each public function.

Signed-off-by: default avatarEric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
parent 5ed6f447
No related branches found
No related tags found
No related merge requests found
...@@ -568,8 +568,6 @@ static void video_drawchars(int xx, int yy, unsigned char *s, int count) ...@@ -568,8 +568,6 @@ static void video_drawchars(int xx, int yy, unsigned char *s, int count)
SWAP32((video_font_draw_table32 SWAP32((video_font_draw_table32
[bits & 15][3] & eorx) ^ bgx); [bits & 15][3] & eorx) ^ bgx);
} }
if (cfb_do_flush_cache)
flush_cache((ulong)dest0, 32);
dest0 += VIDEO_FONT_WIDTH * VIDEO_PIXEL_SIZE; dest0 += VIDEO_FONT_WIDTH * VIDEO_PIXEL_SIZE;
s++; s++;
} }
...@@ -638,8 +636,6 @@ static void video_invertchar(int xx, int yy) ...@@ -638,8 +636,6 @@ static void video_invertchar(int xx, int yy)
for (x = firstx; x < lastx; x++) { for (x = firstx; x < lastx; x++) {
u8 *dest = (u8 *)(video_fb_address) + x + y; u8 *dest = (u8 *)(video_fb_address) + x + y;
*dest = ~*dest; *dest = ~*dest;
if (cfb_do_flush_cache)
flush_cache((ulong)dest, 4);
} }
} }
} }
...@@ -683,6 +679,8 @@ void console_cursor(int state) ...@@ -683,6 +679,8 @@ void console_cursor(int state)
} }
cursor_state = state; cursor_state = state;
} }
if (cfb_do_flush_cache)
flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE);
} }
#endif #endif
...@@ -735,8 +733,6 @@ static void console_clear_line(int line, int begin, int end) ...@@ -735,8 +733,6 @@ static void console_clear_line(int line, int begin, int end)
memsetl(offset + i * VIDEO_LINE_LEN, size, bgx); memsetl(offset + i * VIDEO_LINE_LEN, size, bgx);
} }
#endif #endif
if (cfb_do_flush_cache)
flush_cache((ulong)CONSOLE_ROW_FIRST, CONSOLE_SIZE);
} }
static void console_scrollup(void) static void console_scrollup(void)
...@@ -1142,6 +1138,8 @@ void video_putc(const char c) ...@@ -1142,6 +1138,8 @@ void video_putc(const char c)
#else #else
parse_putc(c); parse_putc(c);
#endif #endif
if (cfb_do_flush_cache)
flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE);
} }
void video_puts(const char *s) void video_puts(const char *s)
...@@ -1795,6 +1793,8 @@ int video_display_bitmap(ulong bmp_image, int x, int y) ...@@ -1795,6 +1793,8 @@ int video_display_bitmap(ulong bmp_image, int x, int y)
} }
#endif #endif
if (cfb_do_flush_cache)
flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE);
return (0); return (0);
} }
#endif #endif
...@@ -2205,6 +2205,9 @@ static int video_init(void) ...@@ -2205,6 +2205,9 @@ static int video_init(void)
console_col = 0; console_col = 0;
console_row = 0; console_row = 0;
if (cfb_do_flush_cache)
flush_cache(VIDEO_FB_ADRS, VIDEO_SIZE);
return 0; return 0;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment