aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/processor_core.c
diff options
context:
space:
mode:
authorHanjun Guo <hanjun.guo@linaro.org>2014-02-18 11:23:54 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-02-18 18:41:06 -0500
commit2c4fa0033ad5dc0ca291528cfa8b23debaf2e32e (patch)
tree943e0360853047befc348f5922daa44788d720c0 /drivers/acpi/processor_core.c
parent52056925f4fad39d2adbd9c5dc00c699efa3f604 (diff)
ACPI / processor: Build idle_boot_override on x86 and ia64
idle_boot_override depends on x86 and ia64 now and it is not clear whether or not it will be used on ARM or ARM64, so put the DMI blacklist setting it in processor_core.c into a #if block so that it is built for CONFIG_X86 or CONFIG_IA64 only to allow processor_core.c to be compiled for ARM64. Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org> [rjw: Subject and changelog] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/processor_core.c')
-rw-r--r--drivers/acpi/processor_core.c47
1 files changed, 28 insertions, 19 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index 7c50a4c6c657..4d91b32423a9 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -19,24 +19,6 @@
19#define _COMPONENT ACPI_PROCESSOR_COMPONENT 19#define _COMPONENT ACPI_PROCESSOR_COMPONENT
20ACPI_MODULE_NAME("processor_core"); 20ACPI_MODULE_NAME("processor_core");
21 21
22static int __init set_no_mwait(const struct dmi_system_id *id)
23{
24 printk(KERN_NOTICE PREFIX "%s detected - "
25 "disabling mwait for CPU C-states\n", id->ident);
26 boot_option_idle_override = IDLE_NOMWAIT;
27 return 0;
28}
29
30static struct dmi_system_id processor_idle_dmi_table[] __initdata = {
31 {
32 set_no_mwait, "Extensa 5220", {
33 DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"),
34 DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
35 DMI_MATCH(DMI_PRODUCT_VERSION, "0100"),
36 DMI_MATCH(DMI_BOARD_NAME, "Columbia") }, NULL},
37 {},
38};
39
40static int map_lapic_id(struct acpi_subtable_header *entry, 22static int map_lapic_id(struct acpi_subtable_header *entry,
41 u32 acpi_id, int *apic_id) 23 u32 acpi_id, int *apic_id)
42{ 24{
@@ -379,13 +361,40 @@ early_init_pdc(acpi_handle handle, u32 lvl, void *context, void **rv)
379 return AE_OK; 361 return AE_OK;
380} 362}
381 363
382void __init acpi_early_processor_set_pdc(void) 364#if defined(CONFIG_X86) || defined(CONFIG_IA64)
365static int __init set_no_mwait(const struct dmi_system_id *id)
366{
367 pr_notice(PREFIX "%s detected - disabling mwait for CPU C-states\n",
368 id->ident);
369 boot_option_idle_override = IDLE_NOMWAIT;
370 return 0;
371}
372
373static struct dmi_system_id processor_idle_dmi_table[] __initdata = {
374 {
375 set_no_mwait, "Extensa 5220", {
376 DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"),
377 DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
378 DMI_MATCH(DMI_PRODUCT_VERSION, "0100"),
379 DMI_MATCH(DMI_BOARD_NAME, "Columbia") }, NULL},
380 {},
381};
382
383static void __init processor_dmi_check(void)
383{ 384{
384 /* 385 /*
385 * Check whether the system is DMI table. If yes, OSPM 386 * Check whether the system is DMI table. If yes, OSPM
386 * should not use mwait for CPU-states. 387 * should not use mwait for CPU-states.
387 */ 388 */
388 dmi_check_system(processor_idle_dmi_table); 389 dmi_check_system(processor_idle_dmi_table);
390}
391#else
392static inline void processor_dmi_check(void) {}
393#endif
394
395void __init acpi_early_processor_set_pdc(void)
396{
397 processor_dmi_check();
389 398
390 acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT, 399 acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT,
391 ACPI_UINT32_MAX, 400 ACPI_UINT32_MAX,