diff options
Diffstat (limited to 'arch/mips/oprofile')
| -rw-r--r-- | arch/mips/oprofile/op_impl.h | 2 | ||||
| -rw-r--r-- | arch/mips/oprofile/op_model_mipsxx.c | 12 | ||||
| -rw-r--r-- | arch/mips/oprofile/op_model_rm9000.c | 3 |
3 files changed, 8 insertions, 9 deletions
diff --git a/arch/mips/oprofile/op_impl.h b/arch/mips/oprofile/op_impl.h index 354e54496406..fa6b4aae7523 100644 --- a/arch/mips/oprofile/op_impl.h +++ b/arch/mips/oprofile/op_impl.h | |||
| @@ -10,8 +10,6 @@ | |||
| 10 | #ifndef OP_IMPL_H | 10 | #ifndef OP_IMPL_H |
| 11 | #define OP_IMPL_H 1 | 11 | #define OP_IMPL_H 1 |
| 12 | 12 | ||
| 13 | struct pt_regs; | ||
| 14 | |||
| 15 | extern int null_perf_irq(void); | 13 | extern int null_perf_irq(void); |
| 16 | extern int (*perf_irq)(void); | 14 | extern int (*perf_irq)(void); |
| 17 | 15 | ||
diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c index dd0aec9c3ce1..1fb240c57bac 100644 --- a/arch/mips/oprofile/op_model_mipsxx.c +++ b/arch/mips/oprofile/op_model_mipsxx.c | |||
| @@ -31,16 +31,18 @@ | |||
| 31 | #define M_COUNTER_OVERFLOW (1UL << 31) | 31 | #define M_COUNTER_OVERFLOW (1UL << 31) |
| 32 | 32 | ||
| 33 | #ifdef CONFIG_MIPS_MT_SMP | 33 | #ifdef CONFIG_MIPS_MT_SMP |
| 34 | #define WHAT (M_TC_EN_VPE | M_PERFCTL_VPEID(smp_processor_id())) | 34 | #define WHAT (M_TC_EN_VPE | M_PERFCTL_VPEID(smp_processor_id())) |
| 35 | #define vpe_id() smp_processor_id() | ||
| 35 | #else | 36 | #else |
| 36 | #define WHAT 0 | 37 | #define WHAT 0 |
| 38 | #define vpe_id() smp_processor_id() | ||
| 37 | #endif | 39 | #endif |
| 38 | 40 | ||
| 39 | #define __define_perf_accessors(r, n, np) \ | 41 | #define __define_perf_accessors(r, n, np) \ |
| 40 | \ | 42 | \ |
| 41 | static inline unsigned int r_c0_ ## r ## n(void) \ | 43 | static inline unsigned int r_c0_ ## r ## n(void) \ |
| 42 | { \ | 44 | { \ |
| 43 | unsigned int cpu = smp_processor_id(); \ | 45 | unsigned int cpu = vpe_id(); \ |
| 44 | \ | 46 | \ |
| 45 | switch (cpu) { \ | 47 | switch (cpu) { \ |
| 46 | case 0: \ | 48 | case 0: \ |
| @@ -55,7 +57,7 @@ static inline unsigned int r_c0_ ## r ## n(void) \ | |||
| 55 | \ | 57 | \ |
| 56 | static inline void w_c0_ ## r ## n(unsigned int value) \ | 58 | static inline void w_c0_ ## r ## n(unsigned int value) \ |
| 57 | { \ | 59 | { \ |
| 58 | unsigned int cpu = smp_processor_id(); \ | 60 | unsigned int cpu = vpe_id(); \ |
| 59 | \ | 61 | \ |
| 60 | switch (cpu) { \ | 62 | switch (cpu) { \ |
| 61 | case 0: \ | 63 | case 0: \ |
| @@ -218,7 +220,7 @@ static inline int n_counters(void) | |||
| 218 | { | 220 | { |
| 219 | int counters = __n_counters(); | 221 | int counters = __n_counters(); |
| 220 | 222 | ||
| 221 | #ifndef CONFIG_SMP | 223 | #ifdef CONFIG_MIPS_MT_SMP |
| 222 | if (current_cpu_data.cputype == CPU_34K) | 224 | if (current_cpu_data.cputype == CPU_34K) |
| 223 | return counters >> 1; | 225 | return counters >> 1; |
| 224 | #endif | 226 | #endif |
diff --git a/arch/mips/oprofile/op_model_rm9000.c b/arch/mips/oprofile/op_model_rm9000.c index b7063fefa65b..7dc9bf6f1321 100644 --- a/arch/mips/oprofile/op_model_rm9000.c +++ b/arch/mips/oprofile/op_model_rm9000.c | |||
| @@ -80,8 +80,7 @@ static void rm9000_cpu_stop(void *args) | |||
| 80 | write_c0_perfcontrol(0); | 80 | write_c0_perfcontrol(0); |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | static irqreturn_t rm9000_perfcount_handler(int irq, void * dev_id, | 83 | static irqreturn_t rm9000_perfcount_handler(int irq, void * dev_id) |
| 84 | struct pt_regs *regs) | ||
| 85 | { | 84 | { |
| 86 | unsigned int control = read_c0_perfcontrol(); | 85 | unsigned int control = read_c0_perfcontrol(); |
| 87 | uint32_t counter1, counter2; | 86 | uint32_t counter1, counter2; |
