diff options
author | Len Brown <len.brown@intel.com> | 2010-03-08 14:07:30 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-05-28 14:26:20 -0400 |
commit | 2671717265ae6e720a9ba5f13fbec3a718983b65 (patch) | |
tree | 16a3c688e297a9a69421640410f7140a6114a8e3 /drivers/acpi | |
parent | 02cf4f9808382af7265cafc33dc86ec5875526aa (diff) |
intel_idle: native hardware cpuidle driver for latest Intel processors
This EXPERIMENTAL driver supersedes acpi_idle on
Intel Atom Processors, Intel Core i3/i5/i7 Processors
and associated Intel Xeon processors.
It does not support the Intel Core2 processor or earlier.
For kernels configured with ACPI, CONFIG_INTEL_IDLE=y
allows intel_idle to probe before the ACPI processor driver.
Booting with "intel_idle.max_cstate=0" disables intel_idle
and the system will fall back on ACPI's "acpi_idle".
Typical Linux distributions load ACPI processor module early,
making CONFIG_INTEL_IDLE=m not easily useful on ACPI platforms.
intel_idle probes all processors at module_init time.
Processors that are hot-added later will be limited
to using C1 in idle.
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/processor_driver.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c index deefa8591746..b1034a9ada4e 100644 --- a/drivers/acpi/processor_driver.c +++ b/drivers/acpi/processor_driver.c | |||
@@ -922,9 +922,13 @@ static int __init acpi_processor_init(void) | |||
922 | return -ENOMEM; | 922 | return -ENOMEM; |
923 | #endif | 923 | #endif |
924 | 924 | ||
925 | if (!cpuidle_register_driver(&acpi_idle_driver)) | 925 | if (!cpuidle_register_driver(&acpi_idle_driver)) { |
926 | printk(KERN_DEBUG "ACPI: %s registered with cpuidle\n", | 926 | printk(KERN_DEBUG "ACPI: %s registered with cpuidle\n", |
927 | acpi_idle_driver.name); | 927 | acpi_idle_driver.name); |
928 | } else { | ||
929 | printk(KERN_DEBUG "ACPI: acpi_idle yielding to %s", | ||
930 | cpuidle_get_driver()->name); | ||
931 | } | ||
928 | 932 | ||
929 | result = acpi_bus_register_driver(&acpi_processor_driver); | 933 | result = acpi_bus_register_driver(&acpi_processor_driver); |
930 | if (result < 0) | 934 | if (result < 0) |