summaryrefslogtreecommitdiffstats
path: root/arch/i386/boot/video.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/boot/video.c')
-rw-r--r--arch/i386/boot/video.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/i386/boot/video.c b/arch/i386/boot/video.c
index 027a2c90300..958130ef004 100644
--- a/arch/i386/boot/video.c
+++ b/arch/i386/boot/video.c
@@ -195,7 +195,7 @@ static void vga_recalc_vertical(void)
{
unsigned int font_size, rows;
u16 crtc;
- u8 ov;
+ u8 pt, ov;
set_fs(0);
font_size = rdfs8(0x485); /* BIOS: font size (pixels) */
@@ -206,7 +206,12 @@ static void vga_recalc_vertical(void)
crtc = vga_crtc();
+ pt = in_idx(crtc, 0x11);
+ pt &= ~0x80; /* Unlock CR0-7 */
+ out_idx(pt, crtc, 0x11);
+
out_idx((u8)rows, crtc, 0x12); /* Lower height register */
+
ov = in_idx(crtc, 0x07); /* Overflow register */
ov &= 0xbd;
ov |= (rows >> (8-1)) & 0x02;