Skip to content

Commit

Permalink
x86: fix DMI on EFI
Browse files Browse the repository at this point in the history
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@kernel.org>
Cc: ying.huang@intel.com
LKML-Reference: <49ADEDA3.1030406@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

 arch/x86/kernel/setup.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
  • Loading branch information
Brian Maly authored and Ingo Molnar committed Mar 4, 2009
1 parent 559595a commit ff0c087
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions arch/x86/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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()) {
Expand Down

0 comments on commit ff0c087

Please sign in to comment.