]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/mips/oprofile/op_model_loongson2.c
MIPS: Oprofile: Loongson: Remove unused variable from loongson2_cpu_setup()
[mv-sheeva.git] / arch / mips / oprofile / op_model_loongson2.c
index 29e2326b62577b3d2f6c5ae2a2620ce0e532d731..deefcee69a699a23381b7e6cfba8c6e3e45a911a 100644 (file)
@@ -24,8 +24,8 @@
  */
 #define LOONGSON2_CPU_TYPE     "mips/loongson2"
 
-#define LOONGSON2_COUNTER1_EVENT(event)        ((event & 0x0f) << 5)
-#define LOONGSON2_COUNTER2_EVENT(event)        ((event & 0x0f) << 9)
+#define LOONGSON2_PERFCTRL_EVENT(idx, event) \
+       (((event) & 0x0f) << ((idx) ? 9 : 5))
 
 #define LOONGSON2_PERFCNT_EXL                  (1UL    <<  0)
 #define LOONGSON2_PERFCNT_KERNEL               (1UL    <<  1)
@@ -60,13 +60,13 @@ static void loongson2_reg_setup(struct op_counter_config *cfg)
        /* Compute the performance counter ctrl word.  */
        /* For now count kernel and user mode */
        if (cfg[0].enabled) {
-               ctrl |= LOONGSON2_COUNTER1_EVENT(cfg[0].event);
+               ctrl |= LOONGSON2_PERFCTRL_EVENT(0, cfg[0].event);
                reg.reset_counter1 = 0x80000000ULL - cfg[0].count;
        }
 
        if (cfg[1].enabled) {
-               ctrl |= LOONGSON2_COUNTER2_EVENT(cfg[1].event);
-               reg.reset_counter2 = (0x80000000ULL - cfg[1].count);
+               ctrl |= LOONGSON2_PERFCTRL_EVENT(1, cfg[1].event);
+               reg.reset_counter2 = 0x80000000ULL - cfg[1].count;
        }
 
        if (cfg[0].enabled || cfg[1].enabled) {
@@ -88,10 +88,7 @@ static void loongson2_reg_setup(struct op_counter_config *cfg)
 
 static void loongson2_cpu_setup(void *args)
 {
-       uint64_t perfcount;
-
-       perfcount = (reg.reset_counter2 << 32) | reg.reset_counter1;
-       write_c0_perfcnt(perfcount);
+       write_c0_perfcnt((reg.reset_counter2 << 32) | reg.reset_counter1);
 }
 
 static void loongson2_cpu_start(void *args)
@@ -122,7 +119,7 @@ static irqreturn_t loongson2_perfcount_handler(int irq, void *dev_id)
         */
 
        /* Check whether the irq belongs to me */
-       enabled = read_c0_perfcnt() & LOONGSON2_PERFCNT_INT_EN;
+       enabled = read_c0_perfctrl() & LOONGSON2_PERFCNT_INT_EN;
        if (!enabled)
                return IRQ_NONE;
        enabled = reg.cnt1_enabled | reg.cnt2_enabled;