From: Chris Wright Date: Tue, 10 Jan 2006 01:45:46 +0000 (-0800) Subject: Add vgacon doublescan mode fix, fwd from akpm X-Git-Tag: v2.6.14.7~37 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fc3cf3d0d4e7a6ac6cf1af3c82d23e4fa92e45dc;p=thirdparty%2Fkernel%2Fstable-queue.git Add vgacon doublescan mode fix, fwd from akpm --- diff --git a/queue/series b/queue/series index 7fc1377c018..9eb5f1a236c 100644 --- a/queue/series +++ b/queue/series @@ -3,3 +3,4 @@ ufs-inode-i_sem-is-not-released-in-error-path.patch skge-handle-out-of-memory-on-ring-changes.patch fix-ATY-video-on-sunblade.patch ppc32-re-add-embed_configc-to-ml300-ep405.patch +vgacon-fix-doublescan-mode.patch diff --git a/queue/vgacon-fix-doublescan-mode.patch b/queue/vgacon-fix-doublescan-mode.patch new file mode 100644 index 00000000000..7af0a237d69 --- /dev/null +++ b/queue/vgacon-fix-doublescan-mode.patch @@ -0,0 +1,42 @@ +From stable-bounces@linux.kernel.org Sun Jan 8 01:06:28 2006 +Message-Id: <200601080902.k0892jZm015005@shell0.pdx.osdl.net> +To: torvalds@osdl.org +From: akpm@osdl.org +Cc: samuel.thibault@ens-lyon.org, dravet@hotmail.com, stable@kernel.org +Subject: [PATCH] vgacon: fix doublescan mode + +From: Samuel Thibault + +When doublescan mode is in use, scanlines must be doubled. + +Thanks to Jason Dravet for reporting and testing. + +Signed-off-by: Samuel Thibault +Cc: +Signed-off-by: Andrew Morton +Signed-off-by: Chris Wright +--- + + drivers/video/console/vgacon.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +--- linux-2.6.15.y.orig/drivers/video/console/vgacon.c ++++ linux-2.6.15.y/drivers/video/console/vgacon.c +@@ -503,10 +503,16 @@ static int vgacon_doresize(struct vc_dat + { + 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); +