Lines Matching refs:idx

616 static inline int armv7_pmnc_counter_valid(struct arm_pmu *cpu_pmu, int idx)  in armv7_pmnc_counter_valid()  argument
618 return idx >= ARMV7_IDX_CYCLE_COUNTER && in armv7_pmnc_counter_valid()
619 idx <= ARMV7_IDX_COUNTER_LAST(cpu_pmu); in armv7_pmnc_counter_valid()
622 static inline int armv7_pmnc_counter_has_overflowed(u32 pmnc, int idx) in armv7_pmnc_counter_has_overflowed() argument
624 return pmnc & BIT(ARMV7_IDX_TO_COUNTER(idx)); in armv7_pmnc_counter_has_overflowed()
627 static inline void armv7_pmnc_select_counter(int idx) in armv7_pmnc_select_counter() argument
629 u32 counter = ARMV7_IDX_TO_COUNTER(idx); in armv7_pmnc_select_counter()
638 int idx = hwc->idx; in armv7pmu_read_counter() local
641 if (!armv7_pmnc_counter_valid(cpu_pmu, idx)) { in armv7pmu_read_counter()
643 smp_processor_id(), idx); in armv7pmu_read_counter()
644 } else if (idx == ARMV7_IDX_CYCLE_COUNTER) { in armv7pmu_read_counter()
647 armv7_pmnc_select_counter(idx); in armv7pmu_read_counter()
658 int idx = hwc->idx; in armv7pmu_write_counter() local
660 if (!armv7_pmnc_counter_valid(cpu_pmu, idx)) { in armv7pmu_write_counter()
662 smp_processor_id(), idx); in armv7pmu_write_counter()
663 } else if (idx == ARMV7_IDX_CYCLE_COUNTER) { in armv7pmu_write_counter()
666 armv7_pmnc_select_counter(idx); in armv7pmu_write_counter()
671 static inline void armv7_pmnc_write_evtsel(int idx, u32 val) in armv7_pmnc_write_evtsel() argument
673 armv7_pmnc_select_counter(idx); in armv7_pmnc_write_evtsel()
678 static inline void armv7_pmnc_enable_counter(int idx) in armv7_pmnc_enable_counter() argument
680 u32 counter = ARMV7_IDX_TO_COUNTER(idx); in armv7_pmnc_enable_counter()
684 static inline void armv7_pmnc_disable_counter(int idx) in armv7_pmnc_disable_counter() argument
686 u32 counter = ARMV7_IDX_TO_COUNTER(idx); in armv7_pmnc_disable_counter()
690 static inline void armv7_pmnc_enable_intens(int idx) in armv7_pmnc_enable_intens() argument
692 u32 counter = ARMV7_IDX_TO_COUNTER(idx); in armv7_pmnc_enable_intens()
696 static inline void armv7_pmnc_disable_intens(int idx) in armv7_pmnc_disable_intens() argument
698 u32 counter = ARMV7_IDX_TO_COUNTER(idx); in armv7_pmnc_disable_intens()
765 int idx = hwc->idx; in armv7pmu_enable_event() local
767 if (!armv7_pmnc_counter_valid(cpu_pmu, idx)) { in armv7pmu_enable_event()
769 smp_processor_id(), idx); in armv7pmu_enable_event()
782 armv7_pmnc_disable_counter(idx); in armv7pmu_enable_event()
789 if (cpu_pmu->set_event_filter || idx != ARMV7_IDX_CYCLE_COUNTER) in armv7pmu_enable_event()
790 armv7_pmnc_write_evtsel(idx, hwc->config_base); in armv7pmu_enable_event()
795 armv7_pmnc_enable_intens(idx); in armv7pmu_enable_event()
800 armv7_pmnc_enable_counter(idx); in armv7pmu_enable_event()
811 int idx = hwc->idx; in armv7pmu_disable_event() local
813 if (!armv7_pmnc_counter_valid(cpu_pmu, idx)) { in armv7pmu_disable_event()
815 smp_processor_id(), idx); in armv7pmu_disable_event()
827 armv7_pmnc_disable_counter(idx); in armv7pmu_disable_event()
832 armv7_pmnc_disable_intens(idx); in armv7pmu_disable_event()
844 int idx; in armv7pmu_handle_irq() local
862 for (idx = 0; idx < cpu_pmu->num_events; ++idx) { in armv7pmu_handle_irq()
863 struct perf_event *event = cpuc->events[idx]; in armv7pmu_handle_irq()
874 if (!armv7_pmnc_counter_has_overflowed(pmnc, idx)) in armv7pmu_handle_irq()
924 int idx; in armv7pmu_get_event_idx() local
941 for (idx = ARMV7_IDX_COUNTER0; idx < cpu_pmu->num_events; ++idx) { in armv7pmu_get_event_idx()
942 if (!test_and_set_bit(idx, cpuc->used_mask)) in armv7pmu_get_event_idx()
943 return idx; in armv7pmu_get_event_idx()
979 u32 idx, nb_cnt = cpu_pmu->num_events; in armv7pmu_reset() local
982 for (idx = ARMV7_IDX_CYCLE_COUNTER; idx < nb_cnt; ++idx) { in armv7pmu_reset()
983 armv7_pmnc_disable_counter(idx); in armv7pmu_reset()
984 armv7_pmnc_disable_intens(idx); in armv7pmu_reset()
1263 static void krait_evt_setup(int idx, u32 config_base) in krait_evt_setup() argument
1285 armv7_pmnc_write_evtsel(idx, val); in krait_evt_setup()
1345 int idx = hwc->idx; in krait_pmu_disable_event() local
1353 armv7_pmnc_disable_counter(idx); in krait_pmu_disable_event()
1362 armv7_pmnc_disable_intens(idx); in krait_pmu_disable_event()
1371 int idx = hwc->idx; in krait_pmu_enable_event() local
1382 armv7_pmnc_disable_counter(idx); in krait_pmu_enable_event()
1390 krait_evt_setup(idx, hwc->config_base); in krait_pmu_enable_event()
1392 armv7_pmnc_write_evtsel(idx, hwc->config_base); in krait_pmu_enable_event()
1395 armv7_pmnc_enable_intens(idx); in krait_pmu_enable_event()
1398 armv7_pmnc_enable_counter(idx); in krait_pmu_enable_event()
1407 u32 idx, nb_cnt = cpu_pmu->num_events; in krait_pmu_reset() local
1421 for (idx = ARMV7_IDX_CYCLE_COUNTER; idx < nb_cnt; ++idx) { in krait_pmu_reset()
1422 armv7_pmnc_select_counter(idx); in krait_pmu_reset()
1457 int idx; in krait_pmu_get_event_idx() local
1478 idx = armv7pmu_get_event_idx(cpuc, event); in krait_pmu_get_event_idx()
1479 if (idx < 0 && bit >= 0) in krait_pmu_get_event_idx()
1482 return idx; in krait_pmu_get_event_idx()
1610 static void scorpion_evt_setup(int idx, u32 config_base) in scorpion_evt_setup() argument
1632 armv7_pmnc_write_evtsel(idx, val); in scorpion_evt_setup()
1678 int idx = hwc->idx; in scorpion_pmu_disable_event() local
1686 armv7_pmnc_disable_counter(idx); in scorpion_pmu_disable_event()
1695 armv7_pmnc_disable_intens(idx); in scorpion_pmu_disable_event()
1704 int idx = hwc->idx; in scorpion_pmu_enable_event() local
1715 armv7_pmnc_disable_counter(idx); in scorpion_pmu_enable_event()
1723 scorpion_evt_setup(idx, hwc->config_base); in scorpion_pmu_enable_event()
1724 else if (idx != ARMV7_IDX_CYCLE_COUNTER) in scorpion_pmu_enable_event()
1725 armv7_pmnc_write_evtsel(idx, hwc->config_base); in scorpion_pmu_enable_event()
1728 armv7_pmnc_enable_intens(idx); in scorpion_pmu_enable_event()
1731 armv7_pmnc_enable_counter(idx); in scorpion_pmu_enable_event()
1740 u32 idx, nb_cnt = cpu_pmu->num_events; in scorpion_pmu_reset() local
1755 for (idx = ARMV7_IDX_CYCLE_COUNTER; idx < nb_cnt; ++idx) { in scorpion_pmu_reset()
1756 armv7_pmnc_select_counter(idx); in scorpion_pmu_reset()
1790 int idx; in scorpion_pmu_get_event_idx() local
1808 idx = armv7pmu_get_event_idx(cpuc, event); in scorpion_pmu_get_event_idx()
1809 if (idx < 0 && bit >= 0) in scorpion_pmu_get_event_idx()
1812 return idx; in scorpion_pmu_get_event_idx()