Lines Matching refs:event

88 static void arc_perf_event_update(struct perf_event *event,  in arc_perf_event_update()  argument
103 local64_add(delta, &event->count); in arc_perf_event_update()
107 static void arc_pmu_read(struct perf_event *event) in arc_pmu_read() argument
109 arc_perf_event_update(event, &event->hw, event->hw.idx); in arc_pmu_read()
140 static int arc_pmu_event_init(struct perf_event *event) in arc_pmu_event_init() argument
142 struct hw_perf_event *hwc = &event->hw; in arc_pmu_event_init()
145 switch (event->attr.type) { in arc_pmu_event_init()
147 if (event->attr.config >= PERF_COUNT_HW_MAX) in arc_pmu_event_init()
149 if (arc_pmu->ev_hw_idx[event->attr.config] < 0) in arc_pmu_event_init()
151 hwc->config = arc_pmu->ev_hw_idx[event->attr.config]; in arc_pmu_event_init()
153 (int) event->attr.config, (int) hwc->config, in arc_pmu_event_init()
154 arc_pmu_ev_hw_map[event->attr.config]); in arc_pmu_event_init()
157 ret = arc_pmu_cache_event(event->attr.config); in arc_pmu_event_init()
188 static void arc_pmu_start(struct perf_event *event, int flags) in arc_pmu_start() argument
190 struct hw_perf_event *hwc = &event->hw; in arc_pmu_start()
197 WARN_ON_ONCE(!(event->hw.state & PERF_HES_UPTODATE)); in arc_pmu_start()
199 event->hw.state = 0; in arc_pmu_start()
206 static void arc_pmu_stop(struct perf_event *event, int flags) in arc_pmu_stop() argument
208 struct hw_perf_event *hwc = &event->hw; in arc_pmu_stop()
211 if (!(event->hw.state & PERF_HES_STOPPED)) { in arc_pmu_stop()
218 event->hw.state |= PERF_HES_STOPPED; in arc_pmu_stop()
222 !(event->hw.state & PERF_HES_UPTODATE)) { in arc_pmu_stop()
223 arc_perf_event_update(event, &event->hw, idx); in arc_pmu_stop()
224 event->hw.state |= PERF_HES_UPTODATE; in arc_pmu_stop()
228 static void arc_pmu_del(struct perf_event *event, int flags) in arc_pmu_del() argument
230 arc_pmu_stop(event, PERF_EF_UPDATE); in arc_pmu_del()
231 __clear_bit(event->hw.idx, arc_pmu->used_mask); in arc_pmu_del()
233 perf_event_update_userpage(event); in arc_pmu_del()
237 static int arc_pmu_add(struct perf_event *event, int flags) in arc_pmu_add() argument
239 struct hw_perf_event *hwc = &event->hw; in arc_pmu_add()
260 arc_pmu_start(event, PERF_EF_RELOAD); in arc_pmu_add()
262 perf_event_update_userpage(event); in arc_pmu_add()