public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Don't probe for DDC on VBE1.2
@ 2007-02-15 16:29 Zwane Mwaikambo
  2007-02-15 20:41 ` Randy Dunlap
  2007-02-16  4:56 ` Andrew Morton
  0 siblings, 2 replies; 18+ messages in thread
From: Zwane Mwaikambo @ 2007-02-15 16:29 UTC (permalink / raw)
  To: Linux Kernel; +Cc: Andrew Morton, Andi Kleen, Tobias Hain

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

:(

Much thanks to Tobias Hain for help in testing and investigating the bug. 
Tested on;

i386, Chips & Technologies 65548 VESA VBE 1.2
CONFIG_VIDEO_SELECT=Y
CONFIG_FIRMWARE_EDID=Y

Untested on x86_64.

Signed-off-by: Zwane Mwaikambo <zwane@infradead.org>

Index: linux-2.6.20-rc6-mm1/arch/i386/boot/video.S
===================================================================
RCS file: /home/cvsroot/linux-2.6.20-rc6-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-rc6-mm1/arch/i386/boot/video.S	30 Jan 2007 05:28:31 -0000	1.1.1.1
+++ linux-2.6.20-rc6-mm1/arch/i386/boot/video.S	15 Feb 2007 16:27:32 -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
+	je	no_edid
+
 	pushw   %es				# save ES
 	xorw    %di, %di                        # Report Capability
 	pushw   %di
Index: linux-2.6.20-rc6-mm1/arch/x86_64/boot/video.S
===================================================================
RCS file: /home/cvsroot/linux-2.6.20-rc6-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-rc6-mm1/arch/x86_64/boot/video.S	30 Jan 2007 05:28:36 -0000	1.1.1.1
+++ linux-2.6.20-rc6-mm1/arch/x86_64/boot/video.S	15 Feb 2007 16:27:32 -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
+	je	no_edid
+
 	pushw   %es				# save ES
 	xorw    %di, %di                        # Report Capability
 	pushw   %di

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2007-02-19 12:33 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-15 16:29 [PATCH] Don't probe for DDC on VBE1.2 Zwane Mwaikambo
2007-02-15 20:41 ` Randy Dunlap
2007-02-15 22:35   ` Zwane Mwaikambo
2007-02-16  4:56 ` Andrew Morton
2007-02-16  5:35   ` Zwane Mwaikambo
2007-02-16  5:45     ` Andrew Morton
2007-02-16  5:51       ` Andrew Morton
2007-02-16  5:59         ` Zwane Mwaikambo
2007-02-16  7:02           ` Andrew Morton
2007-02-16 14:39             ` Zwane Mwaikambo
2007-02-16 18:22               ` Andrew Morton
2007-02-17  8:35                 ` Zwane Mwaikambo
2007-02-17  8:49                   ` Andrew Morton
2007-02-18 18:57                   ` AW: " Tobias Hain
2007-02-18 21:53                   ` Andi Kleen
2007-02-19  0:37                     ` Zwane Mwaikambo
2007-02-19 10:37                       ` Andi Kleen
2007-02-19 12:32                         ` Zwane Mwaikambo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox