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.
> 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 <[email protected]>
>
> 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
> -
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]