mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	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@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(-)
This commit is contained in:
		
							parent
							
								
									559595a985
								
							
						
					
					
						commit
						ff0c087490
					
				
					 1 changed files with 3 additions and 2 deletions
				
			
		| 
						 | 
					@ -770,6 +770,9 @@ void __init setup_arch(char **cmdline_p)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	finish_e820_parsing();
 | 
						finish_e820_parsing();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (efi_enabled)
 | 
				
			||||||
 | 
							efi_init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	dmi_scan_machine();
 | 
						dmi_scan_machine();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	dmi_check_system(bad_bios_dmi_table);
 | 
						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, &data_resource);
 | 
				
			||||||
	insert_resource(&iomem_resource, &bss_resource);
 | 
						insert_resource(&iomem_resource, &bss_resource);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (efi_enabled)
 | 
					 | 
				
			||||||
		efi_init();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_X86_32
 | 
					#ifdef CONFIG_X86_32
 | 
				
			||||||
	if (ppro_with_ram_bug()) {
 | 
						if (ppro_with_ram_bug()) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue