mirror of
https://xff.cz/git/u-boot/
synced 2025-09-18 17:12:08 +02:00
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: Eric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
committed by
Anatolij Gustschin
parent
5ed6f447af
commit
db0d47dd43
@@ -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)
|
|||||||
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)
|
|||||||
}
|
}
|
||||||
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)
|
|||||||
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)
|
|||||||
#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)
|
|||||||
}
|
}
|
||||||
#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)
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user