Commit c4e1acbb authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

ACPI / init: Invoke early ACPI initialization later

Commit 73f7d1ca (ACPI / init: Run acpi_early_init() before
timekeeping_init()) optimistically moved the early ACPI initialization
before timekeeping_init(), but that didn't work, because it broke fast
TSC calibration for Julian Wollrath on Thinkpad x121e (and most likely
for others too).  The reason is that acpi_early_init() enables the SCI
and that interferes with the fast TSC calibration mechanism.

Thus follow the original idea to execute acpi_early_init() before
efi_enter_virtual_mode() to help the EFI people for now and we can
revisit the other problem that commit 73f7d1ca attempted to
address in the future (if really necessary).

Fixes: 73f7d1ca (ACPI / init: Run acpi_early_init() before timekeeping_init())
Reported-by: default avatarJulian Wollrath <jwollrath@web.de>
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent fa389e22
...@@ -561,7 +561,6 @@ asmlinkage void __init start_kernel(void) ...@@ -561,7 +561,6 @@ asmlinkage void __init start_kernel(void)
init_timers(); init_timers();
hrtimers_init(); hrtimers_init();
softirq_init(); softirq_init();
acpi_early_init();
timekeeping_init(); timekeeping_init();
time_init(); time_init();
sched_clock_postinit(); sched_clock_postinit();
...@@ -613,6 +612,7 @@ asmlinkage void __init start_kernel(void) ...@@ -613,6 +612,7 @@ asmlinkage void __init start_kernel(void)
calibrate_delay(); calibrate_delay();
pidmap_init(); pidmap_init();
anon_vma_init(); anon_vma_init();
acpi_early_init();
#ifdef CONFIG_X86 #ifdef CONFIG_X86
if (efi_enabled(EFI_RUNTIME_SERVICES)) if (efi_enabled(EFI_RUNTIME_SERVICES))
efi_enter_virtual_mode(); efi_enter_virtual_mode();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment