Lines Matching refs:idx

254 static inline int armv8pmu_counter_valid(struct arm_pmu *cpu_pmu, int idx)  in armv8pmu_counter_valid()  argument
256 return idx >= ARMV8_IDX_CYCLE_COUNTER && in armv8pmu_counter_valid()
257 idx <= ARMV8_IDX_COUNTER_LAST(cpu_pmu); in armv8pmu_counter_valid()
260 static inline int armv8pmu_counter_has_overflowed(u32 pmnc, int idx) in armv8pmu_counter_has_overflowed() argument
262 return pmnc & BIT(ARMV8_IDX_TO_COUNTER(idx)); in armv8pmu_counter_has_overflowed()
265 static inline int armv8pmu_select_counter(int idx) in armv8pmu_select_counter() argument
267 u32 counter = ARMV8_IDX_TO_COUNTER(idx); in armv8pmu_select_counter()
271 return idx; in armv8pmu_select_counter()
278 int idx = hwc->idx; in armv8pmu_read_counter() local
281 if (!armv8pmu_counter_valid(cpu_pmu, idx)) in armv8pmu_read_counter()
283 smp_processor_id(), idx); in armv8pmu_read_counter()
284 else if (idx == ARMV8_IDX_CYCLE_COUNTER) in armv8pmu_read_counter()
286 else if (armv8pmu_select_counter(idx) == idx) in armv8pmu_read_counter()
296 int idx = hwc->idx; in armv8pmu_write_counter() local
298 if (!armv8pmu_counter_valid(cpu_pmu, idx)) in armv8pmu_write_counter()
300 smp_processor_id(), idx); in armv8pmu_write_counter()
301 else if (idx == ARMV8_IDX_CYCLE_COUNTER) in armv8pmu_write_counter()
303 else if (armv8pmu_select_counter(idx) == idx) in armv8pmu_write_counter()
307 static inline void armv8pmu_write_evtype(int idx, u32 val) in armv8pmu_write_evtype() argument
309 if (armv8pmu_select_counter(idx) == idx) { in armv8pmu_write_evtype()
315 static inline int armv8pmu_enable_counter(int idx) in armv8pmu_enable_counter() argument
317 u32 counter = ARMV8_IDX_TO_COUNTER(idx); in armv8pmu_enable_counter()
319 return idx; in armv8pmu_enable_counter()
322 static inline int armv8pmu_disable_counter(int idx) in armv8pmu_disable_counter() argument
324 u32 counter = ARMV8_IDX_TO_COUNTER(idx); in armv8pmu_disable_counter()
326 return idx; in armv8pmu_disable_counter()
329 static inline int armv8pmu_enable_intens(int idx) in armv8pmu_enable_intens() argument
331 u32 counter = ARMV8_IDX_TO_COUNTER(idx); in armv8pmu_enable_intens()
333 return idx; in armv8pmu_enable_intens()
336 static inline int armv8pmu_disable_intens(int idx) in armv8pmu_disable_intens() argument
338 u32 counter = ARMV8_IDX_TO_COUNTER(idx); in armv8pmu_disable_intens()
345 return idx; in armv8pmu_disable_intens()
368 int idx = hwc->idx; in armv8pmu_enable_event() local
379 armv8pmu_disable_counter(idx); in armv8pmu_enable_event()
384 armv8pmu_write_evtype(idx, hwc->config_base); in armv8pmu_enable_event()
389 armv8pmu_enable_intens(idx); in armv8pmu_enable_event()
394 armv8pmu_enable_counter(idx); in armv8pmu_enable_event()
405 int idx = hwc->idx; in armv8pmu_disable_event() local
415 armv8pmu_disable_counter(idx); in armv8pmu_disable_event()
420 armv8pmu_disable_intens(idx); in armv8pmu_disable_event()
432 int idx; in armv8pmu_handle_irq() local
450 for (idx = 0; idx < cpu_pmu->num_events; ++idx) { in armv8pmu_handle_irq()
451 struct perf_event *event = cpuc->events[idx]; in armv8pmu_handle_irq()
462 if (!armv8pmu_counter_has_overflowed(pmovsr, idx)) in armv8pmu_handle_irq()
512 int idx; in armv8pmu_get_event_idx() local
529 for (idx = ARMV8_IDX_COUNTER0; idx < cpu_pmu->num_events; ++idx) { in armv8pmu_get_event_idx()
530 if (!test_and_set_bit(idx, cpuc->used_mask)) in armv8pmu_get_event_idx()
531 return idx; in armv8pmu_get_event_idx()
567 u32 idx, nb_cnt = cpu_pmu->num_events; in armv8pmu_reset() local
570 for (idx = ARMV8_IDX_CYCLE_COUNTER; idx < nb_cnt; ++idx) { in armv8pmu_reset()
571 armv8pmu_disable_counter(idx); in armv8pmu_reset()
572 armv8pmu_disable_intens(idx); in armv8pmu_reset()