summaryrefslogtreecommitdiff
path: root/payloads/libpayload
diff options
context:
space:
mode:
authorJens Rottmann <JRottmann@LiPPERTEmbedded.de>2010-08-18 21:23:27 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2010-08-18 21:23:27 +0000
commitca1a76247920ae3953db12ec290cf702053e970a (patch)
treedd1df49d82b37ee50f8840323d3f9c471f534a54 /payloads/libpayload
parentd6c43959279866f0c360e8d75d0a25b3e530e9e5 (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
Diffstat (limited to 'payloads/libpayload')
-rw-r--r--payloads/libpayload/drivers/video/geodelx.c6
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;
}