mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
[PATCH] vgacon: fix doublescan mode
When doublescan mode is in use, scanlines must be doubled. Thanks to Jason Dravet <dravet@hotmail.com> for reporting and testing. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b8b0af2435
commit
954de9141e
@ -503,10 +503,16 @@ static int vgacon_doresize(struct vc_data *c,
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned int scanlines = height * c->vc_font.height;
|
||||
u8 scanlines_lo, r7, vsync_end, mode;
|
||||
u8 scanlines_lo, r7, vsync_end, mode, max_scan;
|
||||
|
||||
spin_lock_irqsave(&vga_lock, flags);
|
||||
|
||||
outb_p(VGA_CRTC_MAX_SCAN, vga_video_port_reg);
|
||||
max_scan = inb_p(vga_video_port_val);
|
||||
|
||||
if (max_scan & 0x80)
|
||||
scanlines <<= 1;
|
||||
|
||||
outb_p(VGA_CRTC_MODE, vga_video_port_reg);
|
||||
mode = inb_p(vga_video_port_val);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user