x86: get the MWAIT idle driver in sync with the ACPI one

.. with respect to behavior when there is no HPET broadcast support
(for using the PIT broadcast instead, it requires explicitly enabling
CPU idle management).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
This commit is contained in:
Jan Beulich committed 2012-10-04 09:03:06 +02:00
1 parent ac25a725ae
commit f06fabda84
1 file changed
+7 -4
+7 -4
View File
@@ -501,11 +501,14 @@ int __init mwait_idle_init(struct notifier_block *nfb)
return -ENODEV;
err = mwait_idle_probe();
if (!err) {
if (!boot_cpu_has(X86_FEATURE_ARAT))
hpet_broadcast_init();
if (!lapic_timer_init())
if (!err && !boot_cpu_has(X86_FEATURE_ARAT)) {
hpet_broadcast_init();
if (xen_cpuidle < 0 && !hpet_broadcast_is_available())
err = -ENODEV;
else if(!lapic_timer_init())
err = -EINVAL;
if (err)
pr_debug(PREFIX "not used (%d)\n", err);
}
if (!err) {
nfb->notifier_call = mwait_idle_cpu_init;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.