diff options
Diffstat (limited to 'arch/mips/include/asm/netlogic/common.h')
-rw-r--r-- | arch/mips/include/asm/netlogic/common.h | 21 |
1 files changed, 20 insertions, 1 deletions
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_ */ |