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
This commit is contained in:
parent
d6c4395927
commit
ca1a762479
|
@ -206,7 +206,7 @@ static void geodelx_set_palette(int entry, unsigned int color)
|
||||||
static void geodelx_scroll_up(void)
|
static void geodelx_scroll_up(void)
|
||||||
{
|
{
|
||||||
unsigned char *dst = FB;
|
unsigned char *dst = FB;
|
||||||
unsigned char *src = FB + vga_mode.hactive;
|
unsigned char *src = FB + FONT_HEIGHT * vga_mode.hactive;
|
||||||
int y;
|
int y;
|
||||||
|
|
||||||
for(y = 0; y < vga_mode.vactive - FONT_HEIGHT; 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;
|
src += vga_mode.hactive;
|
||||||
}
|
}
|
||||||
|
|
||||||
dst = FB + (vga_mode.vactive - FONT_HEIGHT) * vga_mode.hactive;
|
|
||||||
|
|
||||||
for(; y < vga_mode.vactive; y++) {
|
for(; y < vga_mode.vactive; y++) {
|
||||||
memset(dst, 0, vga_mode.hactive);
|
memset(dst, 0, vga_mode.hactive);
|
||||||
dst += vga_mode.hactive;
|
dst += vga_mode.hactive;
|
||||||
|
@ -280,6 +278,8 @@ static int geodelx_init(void)
|
||||||
geodelx_set_palette(i, vga_colors[i]);
|
geodelx_set_palette(i, vga_colors[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
geodelx_clear();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue