diff options
author | Jens Rottmann <JRottmann@LiPPERTEmbedded.de> | 2010-08-18 21:23:27 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2010-08-18 21:23:27 +0000 |
commit | ca1a76247920ae3953db12ec290cf702053e970a (patch) | |
tree | dd1df49d82b37ee50f8840323d3f9c471f534a54 | |
parent | d6c43959279866f0c360e8d75d0a25b3e530e9e5 (diff) |
libpayload: fix garbage on screen with Geode-LX VGA
Clear initial garbage in VGA memory and fix scroll_up, which scrolled 1 scanline
instead of 1 text line by mistake.
Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
Acked-by: Patrick Georgi <patrick@georgi-clan.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5722 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r-- | payloads/libpayload/drivers/video/geodelx.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/payloads/libpayload/drivers/video/geodelx.c b/payloads/libpayload/drivers/video/geodelx.c index 382ae4943e..ede997cb26 100644 --- a/payloads/libpayload/drivers/video/geodelx.c +++ b/payloads/libpayload/drivers/video/geodelx.c @@ -206,7 +206,7 @@ static void geodelx_set_palette(int entry, unsigned int color) static void geodelx_scroll_up(void) { unsigned char *dst = FB; - unsigned char *src = FB + vga_mode.hactive; + unsigned char *src = FB + FONT_HEIGHT * vga_mode.hactive; int y; for(y = 0; y < vga_mode.vactive - FONT_HEIGHT; y++) { @@ -216,8 +216,6 @@ static void geodelx_scroll_up(void) src += vga_mode.hactive; } - dst = FB + (vga_mode.vactive - FONT_HEIGHT) * vga_mode.hactive; - for(; y < vga_mode.vactive; y++) { memset(dst, 0, vga_mode.hactive); dst += vga_mode.hactive; @@ -280,6 +278,8 @@ static int geodelx_init(void) geodelx_set_palette(i, vga_colors[i]); } + geodelx_clear(); + return 0; } |