summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRongQing.Li <roy.qing.li@gmail.com>2012-07-02 12:34:30 +0800
committerRalf Baechle <ralf@linux-mips.org>2012-08-27 16:10:13 +0200
commit2bd4082776ff17a0d0d565852afb422931c2f6f2 (patch)
tree91e05d4d07dc50cb22e4ca66161f55124f139854
parentfea7a08acb13524b47711625eebea40a0ede69a0 (diff)
MIPS: CMP/SMTC: Fix tc_id calculation
Currently the tc_id code is: (read_c0_tcbind() >> TCBIND_CURTC_SHIFT) & TCBIND_CURTC; After processing this becomes: (read_c0_tcbind() >> 21) & ((0xff) << 21) But it should be: (read_c0_tcbind() & ((0xff)<< 21)) >> 21 Signed-off-by: RongQing.Li <roy.qing.li@gmail.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/4077/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/kernel/smp-cmp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/smp-cmp.c b/arch/mips/kernel/smp-cmp.c
index e7e03ecf5495..afc379ca3753 100644
--- a/arch/mips/kernel/smp-cmp.c
+++ b/arch/mips/kernel/smp-cmp.c
@@ -102,7 +102,7 @@ static void cmp_init_secondary(void)
c->vpe_id = (read_c0_tcbind() >> TCBIND_CURVPE_SHIFT) & TCBIND_CURVPE;
#endif
#ifdef CONFIG_MIPS_MT_SMTC
- c->tc_id = (read_c0_tcbind() >> TCBIND_CURTC_SHIFT) & TCBIND_CURTC;
+ c->tc_id = (read_c0_tcbind() & TCBIND_CURTC) >> TCBIND_CURTC_SHIFT;
#endif
}