diff options
Diffstat (limited to 'arch/mips/include/asm/netlogic/mips-extns.h')
-rw-r--r-- | arch/mips/include/asm/netlogic/mips-extns.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/mips/include/asm/netlogic/mips-extns.h b/arch/mips/include/asm/netlogic/mips-extns.h index f299d31d7c1a..de9aada6f4c1 100644 --- a/arch/mips/include/asm/netlogic/mips-extns.h +++ b/arch/mips/include/asm/netlogic/mips-extns.h | |||
@@ -146,7 +146,12 @@ static inline int hard_smp_processor_id(void) | |||
146 | 146 | ||
147 | static inline int nlm_nodeid(void) | 147 | static inline int nlm_nodeid(void) |
148 | { | 148 | { |
149 | return (__read_32bit_c0_register($15, 1) >> 5) & 0x3; | 149 | uint32_t prid = read_c0_prid(); |
150 | |||
151 | if ((prid & 0xff00) == PRID_IMP_NETLOGIC_XLP9XX) | ||
152 | return (__read_32bit_c0_register($15, 1) >> 7) & 0x7; | ||
153 | else | ||
154 | return (__read_32bit_c0_register($15, 1) >> 5) & 0x3; | ||
150 | } | 155 | } |
151 | 156 | ||
152 | static inline unsigned int nlm_core_id(void) | 157 | static inline unsigned int nlm_core_id(void) |