Re: [PATCH] Don't probe for DDC on VBE1.2

From: Zwane Mwaikambo
Date: Thu Feb 15 2007 - 17:37:33 EST


On Thu, 15 Feb 2007, Randy Dunlap wrote:

> On Thu, 15 Feb 2007 08:29:49 -0800 (PST) Zwane Mwaikambo wrote:
>
> > VBE1.2 doesn't support function 15h (DDC) resulting in a 'hang' whilst
> > uncompressing kernel with some video cards. Make sure we check VBE version
> > before fiddling around with DDC.
> >
> > http://bugzilla.kernel.org/show_bug.cgi?id=1458
> >
> > Opened: 2003-10-30 09:12 Last update: 2007-02-13 22:03
> >
> > :(
>
> true.
>
> Just one question: why use 'je' instead of 'jle' (jge ?) : check for
> current version <= 0x0102, whatever that is in gas; I'm still used
> to intel syntax.

Good point;

Signed-off-by: Zwane Mwaikambo <zwane@xxxxxxxxxxxxx>

Index: linux-2.6.20-mm1/arch/i386/boot/video.S
===================================================================
RCS file: /home/cvsroot/linux-2.6.20-mm1/arch/i386/boot/video.S,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 video.S
--- linux-2.6.20-mm1/arch/i386/boot/video.S 15 Feb 2007 17:35:57 -0000 1.1.1.1
+++ linux-2.6.20-mm1/arch/i386/boot/video.S 15 Feb 2007 22:28:34 -0000
@@ -1945,6 +1945,20 @@ store_edid:
rep
stosl

+ pushw %es
+ pushw %ds
+ popw %es
+ leaw modelist+1024, %di
+ movw $0x4f00, %ax
+ int $0x10
+ popw %es
+
+ cmpw $0x004f, %ax
+ jne no_edid
+
+ cmpw $0x0102, 4(%di) # only do EDID on > 1.2
+ jle no_edid
+
pushw %es # save ES
xorw %di, %di # Report Capability
pushw %di
Index: linux-2.6.20-mm1/arch/x86_64/boot/video.S
===================================================================
RCS file: /home/cvsroot/linux-2.6.20-mm1/arch/x86_64/boot/video.S,v
retrieving revision 1.1.1.1
diff -u -p -B -r1.1.1.1 video.S
--- linux-2.6.20-mm1/arch/x86_64/boot/video.S 15 Feb 2007 17:36:18 -0000 1.1.1.1
+++ linux-2.6.20-mm1/arch/x86_64/boot/video.S 15 Feb 2007 22:29:00 -0000
@@ -1945,6 +1945,20 @@ store_edid:
rep
stosl

+ pushw %es
+ pushw %ds
+ popw %es
+ leaw modelist+1024, %di
+ movw $0x4f00, %ax
+ int $0x10
+ popw %es
+
+ cmpw $0x004f, %ax
+ jne no_edid
+
+ cmpw $0x0102, 4(%di) # only do EDID on > 1.2
+ jle no_edid
+
pushw %es # save ES
xorw %di, %di # Report Capability
pushw %di
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/