[tip:x86/urgent] x86: fix DMI on EFI

From: Brian Maly
Date: Wed Mar 04 2009 - 12:58:25 EST


Commit-ID: ff0c0874905fb312ca1491bbdac2653b0b48c20b
Gitweb: http://git.kernel.org/tip/ff0c0874905fb312ca1491bbdac2653b0b48c20b
Author: "Brian Maly" <bmaly@xxxxxxxxxx>
AuthorDate: Tue, 3 Mar 2009 21:55:31 -0500
Commit: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Wed, 4 Mar 2009 18:55:56 +0100

x86: fix DMI on EFI

Impact: reactivate DMI quirks on EFI hardware

DMI tables are loaded by EFI, so the dmi calls must happen after
efi_init() and not before.

Currently Apple hardware uses DMI to determine the framebuffer mappings
for efifb. Without DMI working you also have no video on MacBook Pro.

This patch resolves the DMI issue for EFI hardware (DMI is now properly
detected at boot), and additionally efifb now loads on Apple hardware
(i.e. video works).

Signed-off-by: Brian Maly <bmaly@redhat>
Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx>
Cc: ying.huang@xxxxxxxxx
LKML-Reference: <49ADEDA3.1030406@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

arch/x86/kernel/setup.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)


---
arch/x86/kernel/setup.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index c461f6d..6a8811a 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -770,6 +770,9 @@ void __init setup_arch(char **cmdline_p)

finish_e820_parsing();

+ if (efi_enabled)
+ efi_init();
+
dmi_scan_machine();

dmi_check_system(bad_bios_dmi_table);
@@ -789,8 +792,6 @@ void __init setup_arch(char **cmdline_p)
insert_resource(&iomem_resource, &data_resource);
insert_resource(&iomem_resource, &bss_resource);

- if (efi_enabled)
- efi_init();

#ifdef CONFIG_X86_32
if (ppro_with_ram_bug()) {
--
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/