aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/acpi.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel/acpi.c')
-rw-r--r--arch/ia64/kernel/acpi.c28
1 files changed, 7 insertions, 21 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c
index 467497ade45f..0d407b300762 100644
--- a/arch/ia64/kernel/acpi.c
+++ b/arch/ia64/kernel/acpi.c
@@ -799,14 +799,9 @@ int acpi_isa_irq_to_gsi(unsigned isa_irq, u32 *gsi)
799 * ACPI based hotplug CPU support 799 * ACPI based hotplug CPU support
800 */ 800 */
801#ifdef CONFIG_ACPI_HOTPLUG_CPU 801#ifdef CONFIG_ACPI_HOTPLUG_CPU
802static 802static int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
803int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
804{ 803{
805#ifdef CONFIG_ACPI_NUMA 804#ifdef CONFIG_ACPI_NUMA
806 int pxm_id;
807 int nid;
808
809 pxm_id = acpi_get_pxm(handle);
810 /* 805 /*
811 * We don't have cpu-only-node hotadd. But if the system equips 806 * We don't have cpu-only-node hotadd. But if the system equips
812 * SRAT table, pxm is already found and node is ready. 807 * SRAT table, pxm is already found and node is ready.
@@ -814,11 +809,10 @@ int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
814 * This code here is for the system which doesn't have full SRAT 809 * This code here is for the system which doesn't have full SRAT
815 * table for possible cpus. 810 * table for possible cpus.
816 */ 811 */
817 nid = acpi_map_pxm_to_node(pxm_id);
818 node_cpuid[cpu].phys_id = physid; 812 node_cpuid[cpu].phys_id = physid;
819 node_cpuid[cpu].nid = nid; 813 node_cpuid[cpu].nid = acpi_get_node(handle);
820#endif 814#endif
821 return (0); 815 return 0;
822} 816}
823 817
824int additional_cpus __initdata = -1; 818int additional_cpus __initdata = -1;
@@ -925,7 +919,7 @@ static acpi_status acpi_map_iosapic(acpi_handle handle, u32 depth,
925 union acpi_object *obj; 919 union acpi_object *obj;
926 struct acpi_madt_io_sapic *iosapic; 920 struct acpi_madt_io_sapic *iosapic;
927 unsigned int gsi_base; 921 unsigned int gsi_base;
928 int pxm, node; 922 int node;
929 923
930 /* Only care about objects w/ a method that returns the MADT */ 924 /* Only care about objects w/ a method that returns the MADT */
931 if (ACPI_FAILURE(acpi_evaluate_object(handle, "_MAT", NULL, &buffer))) 925 if (ACPI_FAILURE(acpi_evaluate_object(handle, "_MAT", NULL, &buffer)))
@@ -952,17 +946,9 @@ static acpi_status acpi_map_iosapic(acpi_handle handle, u32 depth,
952 946
953 kfree(buffer.pointer); 947 kfree(buffer.pointer);
954 948
955 /* 949 /* OK, it's an IOSAPIC MADT entry; associate it with a node */
956 * OK, it's an IOSAPIC MADT entry, look for a _PXM value to tell 950 node = acpi_get_node(handle);
957 * us which node to associate this with. 951 if (node == NUMA_NO_NODE || !node_online(node) ||
958 */
959 pxm = acpi_get_pxm(handle);
960 if (pxm < 0)
961 return AE_OK;
962
963 node = pxm_to_node(pxm);
964
965 if (node >= MAX_NUMNODES || !node_online(node) ||
966 cpumask_empty(cpumask_of_node(node))) 952 cpumask_empty(cpumask_of_node(node)))
967 return AE_OK; 953 return AE_OK;
968 954