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/include/asm | |
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/include/asm')
-rw-r--r-- | arch/mips/include/asm/mach-netlogic/multi-node.h | 9 | ||||
-rw-r--r-- | arch/mips/include/asm/netlogic/common.h | 21 |
2 files changed, 20 insertions, 10 deletions
diff --git a/arch/mips/include/asm/mach-netlogic/multi-node.h b/arch/mips/include/asm/mach-netlogic/multi-node.h index 9ed8dacdc37c..8bdf47e29145 100644 --- a/arch/mips/include/asm/mach-netlogic/multi-node.h +++ b/arch/mips/include/asm/mach-netlogic/multi-node.h | |||
@@ -48,15 +48,6 @@ | |||
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | #define NLM_THREADS_PER_CORE 4 | 50 | #define NLM_THREADS_PER_CORE 4 |
51 | #ifdef CONFIG_CPU_XLR | ||
52 | #define nlm_cores_per_node() 8 | ||
53 | #else | ||
54 | extern unsigned int xlp_cores_per_node; | ||
55 | #define nlm_cores_per_node() xlp_cores_per_node | ||
56 | #endif | ||
57 | |||
58 | #define nlm_threads_per_node() (nlm_cores_per_node() * NLM_THREADS_PER_CORE) | ||
59 | #define nlm_cpuid_to_node(c) ((c) / nlm_threads_per_node()) | ||
60 | 51 | ||
61 | struct nlm_soc_info { | 52 | struct nlm_soc_info { |
62 | unsigned long coremask; /* cores enabled on the soc */ | 53 | unsigned long coremask; /* cores enabled on the soc */ |
diff --git a/arch/mips/include/asm/netlogic/common.h b/arch/mips/include/asm/netlogic/common.h index c281f03eb312..2a4c128277e4 100644 --- a/arch/mips/include/asm/netlogic/common.h +++ b/arch/mips/include/asm/netlogic/common.h | |||
@@ -111,6 +111,25 @@ static inline int nlm_irq_to_xirq(int node, int irq) | |||
111 | return node * NR_IRQS / NLM_NR_NODES + irq; | 111 | return node * NR_IRQS / NLM_NR_NODES + irq; |
112 | } | 112 | } |
113 | 113 | ||
114 | extern int nlm_cpu_ready[]; | 114 | #ifdef CONFIG_CPU_XLR |
115 | #define nlm_cores_per_node() 8 | ||
116 | #else | ||
117 | static inline int nlm_cores_per_node(void) | ||
118 | { | ||
119 | return ((read_c0_prid() & PRID_IMP_MASK) | ||
120 | == PRID_IMP_NETLOGIC_XLP9XX) ? 32 : 8; | ||
121 | } | ||
115 | #endif | 122 | #endif |
123 | static inline int nlm_threads_per_node(void) | ||
124 | { | ||
125 | return nlm_cores_per_node() * NLM_THREADS_PER_CORE; | ||
126 | } | ||
127 | |||
128 | static inline int nlm_hwtid_to_node(int hwtid) | ||
129 | { | ||
130 | return hwtid / nlm_threads_per_node(); | ||
131 | } | ||
132 | |||
133 | extern int nlm_cpu_ready[]; | ||
134 | #endif /* __ASSEMBLY__ */ | ||
116 | #endif /* _NETLOGIC_COMMON_H_ */ | 135 | #endif /* _NETLOGIC_COMMON_H_ */ |