From 5e518d7672dea4cd7c60871e40d0490c52f01d13 Mon Sep 17 00:00:00 2001 From: "Antonino A. Daplas" Date: Fri, 9 Sep 2005 13:04:34 -0700 Subject: [PATCH] fbdev: Resurrect hooks to get EDID from firmware For the i386, code is already present in video.S that gets the EDID from the video BIOS. Make this visible so drivers can also use this data as fallback when i2c does not work. To ensure that the EDID block is returned for the primary graphics adapter only, by check if the IORESOURCE_ROM_SHADOW flag is set. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/i386/boot/video.S | 2 +- arch/i386/kernel/setup.c | 1 + drivers/video/fbmon.c | 35 ++++++++++++++++++++++++++++++++++- include/linux/fb.h | 4 +++- 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/arch/i386/boot/video.S b/arch/i386/boot/video.S index 02bf625a..92f6694 100644 --- a/arch/i386/boot/video.S +++ b/arch/i386/boot/video.S @@ -1949,7 +1949,7 @@ store_edid: movw $0x4f15, %ax # do VBE/DDC movw $0x01, %bx movw $0x00, %cx - movw $0x01, %dx + movw $0x00, %dx movw $0x140, %di int $0x10 diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index a659d27..fa0c69e 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c @@ -139,6 +139,7 @@ struct sys_desc_table_struct { unsigned char table[0]; }; struct edid_info edid_info; +EXPORT_SYMBOL_GPL(edid_info); struct ist_info ist_info; #if defined(CONFIG_X86_SPEEDSTEP_SMI) || \ defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE) diff --git a/drivers/video/fbmon.c b/drivers/video/fbmon.c index c2718bb..791bec3 100644 --- a/drivers/video/fbmon.c +++ b/drivers/video/fbmon.c @@ -29,6 +29,7 @@ #include #include #include +#include