summaryrefslogtreecommitdiffstats
path: root/arch/mips/oprofile/op_model_mipsxx.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-10-23 13:22:06 +0100
committerRalf Baechle <ralf@linux-mips.org>2006-10-30 21:41:26 +0000
commitbe609f3546d3dd96afd7df8856a91fa2b8825fbc (patch)
tree6fa59e7b9046908191b23e5bd226bcbce47b8342 /arch/mips/oprofile/op_model_mipsxx.c
parenta7aacdf9ea45bf6139cfd750e558a3dcbc6f16c3 (diff)
downloadlinux-be609f3546d3dd96afd7df8856a91fa2b8825fbc.tar.gz
linux-be609f3546d3dd96afd7df8856a91fa2b8825fbc.tar.bz2
linux-be609f3546d3dd96afd7df8856a91fa2b8825fbc.zip
[MIPS] Oprofile: fix on non-VSMP / non-SMTC SMP configurations.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/oprofile/op_model_mipsxx.c')
-rw-r--r--arch/mips/oprofile/op_model_mipsxx.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c
index dd0aec9c3ce1..ebce715f076d 100644
--- a/arch/mips/oprofile/op_model_mipsxx.c
+++ b/arch/mips/oprofile/op_model_mipsxx.c
@@ -31,16 +31,18 @@
#define M_COUNTER_OVERFLOW (1UL << 31)
#ifdef CONFIG_MIPS_MT_SMP
-#define WHAT (M_TC_EN_VPE | M_PERFCTL_VPEID(smp_processor_id()))
+#define WHAT (M_TC_EN_VPE | M_PERFCTL_VPEID(smp_processor_id()))
+#define vpe_id() smp_processor_id()
#else
-#define WHAT 0
+#define WHAT 0
+#define vpe_id() smp_processor_id()
#endif
#define __define_perf_accessors(r, n, np) \
\
static inline unsigned int r_c0_ ## r ## n(void) \
{ \
- unsigned int cpu = smp_processor_id(); \
+ unsigned int cpu = vpe_id(); \
\
switch (cpu) { \
case 0: \
@@ -55,7 +57,7 @@ static inline unsigned int r_c0_ ## r ## n(void) \
\
static inline void w_c0_ ## r ## n(unsigned int value) \
{ \
- unsigned int cpu = smp_processor_id(); \
+ unsigned int cpu = vpe_id(); \
\
switch (cpu) { \
case 0: \