aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/oprofile/op_model_loongson2.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/mips/oprofile/op_model_loongson2.c b/arch/mips/oprofile/op_model_loongson2.c
index fa3bf661ae29..93d8b7deb91d 100644
--- a/arch/mips/oprofile/op_model_loongson2.c
+++ b/arch/mips/oprofile/op_model_loongson2.c
@@ -24,8 +24,8 @@
24 */ 24 */
25#define LOONGSON2_CPU_TYPE "mips/loongson2" 25#define LOONGSON2_CPU_TYPE "mips/loongson2"
26 26
27#define LOONGSON2_COUNTER1_EVENT(event) ((event & 0x0f) << 5) 27#define LOONGSON2_PERFCTRL_EVENT(idx, event) \
28#define LOONGSON2_COUNTER2_EVENT(event) ((event & 0x0f) << 9) 28 (((event) & 0x0f) << ((idx) ? 9 : 5))
29 29
30#define LOONGSON2_PERFCNT_EXL (1UL << 0) 30#define LOONGSON2_PERFCNT_EXL (1UL << 0)
31#define LOONGSON2_PERFCNT_KERNEL (1UL << 1) 31#define LOONGSON2_PERFCNT_KERNEL (1UL << 1)
@@ -60,12 +60,12 @@ static void loongson2_reg_setup(struct op_counter_config *cfg)
60 /* Compute the performance counter ctrl word. */ 60 /* Compute the performance counter ctrl word. */
61 /* For now count kernel and user mode */ 61 /* For now count kernel and user mode */
62 if (cfg[0].enabled) { 62 if (cfg[0].enabled) {
63 ctrl |= LOONGSON2_COUNTER1_EVENT(cfg[0].event); 63 ctrl |= LOONGSON2_PERFCTRL_EVENT(0, cfg[0].event);
64 reg.reset_counter1 = 0x80000000ULL - cfg[0].count; 64 reg.reset_counter1 = 0x80000000ULL - cfg[0].count;
65 } 65 }
66 66
67 if (cfg[1].enabled) { 67 if (cfg[1].enabled) {
68 ctrl |= LOONGSON2_COUNTER2_EVENT(cfg[1].event); 68 ctrl |= LOONGSON2_PERFCTRL_EVENT(1, cfg[1].event);
69 reg.reset_counter2 = (0x80000000ULL - cfg[1].count); 69 reg.reset_counter2 = (0x80000000ULL - cfg[1].count);
70 } 70 }
71 71