diff options
author | Alex Chiang <achiang@hp.com> | 2010-02-22 14:11:39 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-03-14 21:17:22 -0400 |
commit | d8191fa4a33fdc817277da4f2b7f771ff605a41c (patch) | |
tree | d72667311fcaea0fbfc7c9a8e71bd6b612af215c /arch | |
parent | 3b1da4c5d1032ebc29fec8bd8f592ba6589be8ed (diff) |
ACPI: processor: driver doesn't need to evaluate _PDC
Now that the early _PDC evaluation path knows how to correctly
evaluate _PDC on only physically present processors, there's no
need for the processor driver to evaluate it later when it loads.
To cover the hotplug case, push _PDC evaluation down into the
hotplug paths.
Cc: x86@kernel.org
Cc: Tony Luck <tony.luck@intel.com>
Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ia64/kernel/acpi.c | 3 | ||||
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index a7ca07f3754e..f1c9f70b4e45 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/efi.h> | 44 | #include <linux/efi.h> |
45 | #include <linux/mmzone.h> | 45 | #include <linux/mmzone.h> |
46 | #include <linux/nodemask.h> | 46 | #include <linux/nodemask.h> |
47 | #include <acpi/processor.h> | ||
47 | #include <asm/io.h> | 48 | #include <asm/io.h> |
48 | #include <asm/iosapic.h> | 49 | #include <asm/iosapic.h> |
49 | #include <asm/machvec.h> | 50 | #include <asm/machvec.h> |
@@ -907,6 +908,8 @@ int acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
907 | cpu_set(cpu, cpu_present_map); | 908 | cpu_set(cpu, cpu_present_map); |
908 | ia64_cpu_to_sapicid[cpu] = physid; | 909 | ia64_cpu_to_sapicid[cpu] = physid; |
909 | 910 | ||
911 | acpi_processor_set_pdc(handle); | ||
912 | |||
910 | *pcpu = cpu; | 913 | *pcpu = cpu; |
911 | return (0); | 914 | return (0); |
912 | } | 915 | } |
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index a54d714545ff..d635a93ae59c 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -490,6 +490,7 @@ int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity) | |||
490 | * ACPI based hotplug support for CPU | 490 | * ACPI based hotplug support for CPU |
491 | */ | 491 | */ |
492 | #ifdef CONFIG_ACPI_HOTPLUG_CPU | 492 | #ifdef CONFIG_ACPI_HOTPLUG_CPU |
493 | #include <acpi/processor.h> | ||
493 | 494 | ||
494 | static void acpi_map_cpu2node(acpi_handle handle, int cpu, int physid) | 495 | static void acpi_map_cpu2node(acpi_handle handle, int cpu, int physid) |
495 | { | 496 | { |
@@ -567,6 +568,8 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu) | |||
567 | goto free_new_map; | 568 | goto free_new_map; |
568 | } | 569 | } |
569 | 570 | ||
571 | acpi_processor_set_pdc(handle); | ||
572 | |||
570 | cpu = cpumask_first(new_map); | 573 | cpu = cpumask_first(new_map); |
571 | acpi_map_cpu2node(handle, cpu, physid); | 574 | acpi_map_cpu2node(handle, cpu, physid); |
572 | 575 | ||