diff options
author | Jayachandran C <jchandra@broadcom.com> | 2015-01-07 06:28:30 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-04-01 11:21:50 -0400 |
commit | c2736525465a5d6fe1456da8cc2bc701f9128682 (patch) | |
tree | 702e2d39bc32f37a7d953243f876e19c89ffae13 /arch/mips/netlogic/xlp | |
parent | 65fecc2725e5c8d5ef988d971b798b28b94e1865 (diff) |
MIPS: Netlogic: Move cores per node out of multi-node.h
Use the current_cpu_data package field to get the node of the current CPU.
This allows us to remove xlp_cores_per_node and move nlm_threads_per_node()
and nlm_cores_per_node() to netlogic/common.h, which simplifies code.
Signed-off-by: Jayachandran C <jchandra@broadcom.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/8889/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/netlogic/xlp')
-rw-r--r-- | arch/mips/netlogic/xlp/setup.c | 5 | ||||
-rw-r--r-- | arch/mips/netlogic/xlp/wakeup.c | 8 |
2 files changed, 4 insertions, 9 deletions
diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c index 4fdd9fd29d1d..27113a17f18d 100644 --- a/arch/mips/netlogic/xlp/setup.c +++ b/arch/mips/netlogic/xlp/setup.c | |||
@@ -51,7 +51,6 @@ uint64_t nlm_io_base; | |||
51 | struct nlm_soc_info nlm_nodes[NLM_NR_NODES]; | 51 | struct nlm_soc_info nlm_nodes[NLM_NR_NODES]; |
52 | cpumask_t nlm_cpumask = CPU_MASK_CPU0; | 52 | cpumask_t nlm_cpumask = CPU_MASK_CPU0; |
53 | unsigned int nlm_threads_per_core; | 53 | unsigned int nlm_threads_per_core; |
54 | unsigned int xlp_cores_per_node; | ||
55 | 54 | ||
56 | static void nlm_linux_exit(void) | 55 | static void nlm_linux_exit(void) |
57 | { | 56 | { |
@@ -163,10 +162,6 @@ void __init prom_init(void) | |||
163 | void *reset_vec; | 162 | void *reset_vec; |
164 | 163 | ||
165 | nlm_io_base = CKSEG1ADDR(XLP_DEFAULT_IO_BASE); | 164 | nlm_io_base = CKSEG1ADDR(XLP_DEFAULT_IO_BASE); |
166 | if (cpu_is_xlp9xx()) | ||
167 | xlp_cores_per_node = 32; | ||
168 | else | ||
169 | xlp_cores_per_node = 8; | ||
170 | nlm_init_boot_cpu(); | 165 | nlm_init_boot_cpu(); |
171 | xlp_mmu_init(); | 166 | xlp_mmu_init(); |
172 | nlm_node_init(0); | 167 | nlm_node_init(0); |
diff --git a/arch/mips/netlogic/xlp/wakeup.c b/arch/mips/netlogic/xlp/wakeup.c index 26d82f79ef29..87d7846af2d0 100644 --- a/arch/mips/netlogic/xlp/wakeup.c +++ b/arch/mips/netlogic/xlp/wakeup.c | |||
@@ -111,7 +111,7 @@ static void xlp_enable_secondary_cores(const cpumask_t *wakeup_mask) | |||
111 | struct nlm_soc_info *nodep; | 111 | struct nlm_soc_info *nodep; |
112 | uint64_t syspcibase, fusebase; | 112 | uint64_t syspcibase, fusebase; |
113 | uint32_t syscoremask, mask, fusemask; | 113 | uint32_t syscoremask, mask, fusemask; |
114 | int core, n, cpu; | 114 | int core, n, cpu, ncores; |
115 | 115 | ||
116 | for (n = 0; n < NLM_NR_NODES; n++) { | 116 | for (n = 0; n < NLM_NR_NODES; n++) { |
117 | if (n != 0) { | 117 | if (n != 0) { |
@@ -168,7 +168,8 @@ static void xlp_enable_secondary_cores(const cpumask_t *wakeup_mask) | |||
168 | syscoremask = (1 << hweight32(~fusemask & mask)) - 1; | 168 | syscoremask = (1 << hweight32(~fusemask & mask)) - 1; |
169 | 169 | ||
170 | pr_info("Node %d - SYS/FUSE coremask %x\n", n, syscoremask); | 170 | pr_info("Node %d - SYS/FUSE coremask %x\n", n, syscoremask); |
171 | for (core = 0; core < nlm_cores_per_node(); core++) { | 171 | ncores = nlm_cores_per_node(); |
172 | for (core = 0; core < ncores; core++) { | ||
172 | /* we will be on node 0 core 0 */ | 173 | /* we will be on node 0 core 0 */ |
173 | if (n == 0 && core == 0) | 174 | if (n == 0 && core == 0) |
174 | continue; | 175 | continue; |
@@ -178,8 +179,7 @@ static void xlp_enable_secondary_cores(const cpumask_t *wakeup_mask) | |||
178 | continue; | 179 | continue; |
179 | 180 | ||
180 | /* see if at least the first hw thread is enabled */ | 181 | /* see if at least the first hw thread is enabled */ |
181 | cpu = (n * nlm_cores_per_node() + core) | 182 | cpu = (n * ncores + core) * NLM_THREADS_PER_CORE; |
182 | * NLM_THREADS_PER_CORE; | ||
183 | if (!cpumask_test_cpu(cpu, wakeup_mask)) | 183 | if (!cpumask_test_cpu(cpu, wakeup_mask)) |
184 | continue; | 184 | continue; |
185 | 185 | ||