Lines Matching refs:event

63 static void hw_perf_event_destroy(struct perf_event *event)  in hw_perf_event_destroy()  argument
100 static int __hw_perf_event_init(struct perf_event *event) in __hw_perf_event_init() argument
102 struct perf_event_attr *attr = &event->attr; in __hw_perf_event_init()
103 struct hw_perf_event *hwc = &event->hw; in __hw_perf_event_init()
131 event->destroy = hw_perf_event_destroy; in __hw_perf_event_init()
158 static void sh_perf_event_update(struct perf_event *event, in sh_perf_event_update() argument
196 local64_add(delta, &event->count); in sh_perf_event_update()
199 static void sh_pmu_stop(struct perf_event *event, int flags) in sh_pmu_stop() argument
202 struct hw_perf_event *hwc = &event->hw; in sh_pmu_stop()
205 if (!(event->hw.state & PERF_HES_STOPPED)) { in sh_pmu_stop()
208 event->hw.state |= PERF_HES_STOPPED; in sh_pmu_stop()
211 if ((flags & PERF_EF_UPDATE) && !(event->hw.state & PERF_HES_UPTODATE)) { in sh_pmu_stop()
212 sh_perf_event_update(event, &event->hw, idx); in sh_pmu_stop()
213 event->hw.state |= PERF_HES_UPTODATE; in sh_pmu_stop()
217 static void sh_pmu_start(struct perf_event *event, int flags) in sh_pmu_start() argument
220 struct hw_perf_event *hwc = &event->hw; in sh_pmu_start()
227 WARN_ON_ONCE(!(event->hw.state & PERF_HES_UPTODATE)); in sh_pmu_start()
229 cpuc->events[idx] = event; in sh_pmu_start()
230 event->hw.state = 0; in sh_pmu_start()
234 static void sh_pmu_del(struct perf_event *event, int flags) in sh_pmu_del() argument
238 sh_pmu_stop(event, PERF_EF_UPDATE); in sh_pmu_del()
239 __clear_bit(event->hw.idx, cpuc->used_mask); in sh_pmu_del()
241 perf_event_update_userpage(event); in sh_pmu_del()
244 static int sh_pmu_add(struct perf_event *event, int flags) in sh_pmu_add() argument
247 struct hw_perf_event *hwc = &event->hw; in sh_pmu_add()
251 perf_pmu_disable(event->pmu); in sh_pmu_add()
264 event->hw.state = PERF_HES_UPTODATE | PERF_HES_STOPPED; in sh_pmu_add()
266 sh_pmu_start(event, PERF_EF_RELOAD); in sh_pmu_add()
268 perf_event_update_userpage(event); in sh_pmu_add()
271 perf_pmu_enable(event->pmu); in sh_pmu_add()
275 static void sh_pmu_read(struct perf_event *event) in sh_pmu_read() argument
277 sh_perf_event_update(event, &event->hw, event->hw.idx); in sh_pmu_read()
280 static int sh_pmu_event_init(struct perf_event *event) in sh_pmu_event_init() argument
285 if (has_branch_stack(event)) in sh_pmu_event_init()
288 switch (event->attr.type) { in sh_pmu_event_init()
292 err = __hw_perf_event_init(event); in sh_pmu_event_init()
300 if (event->destroy) in sh_pmu_event_init()
301 event->destroy(event); in sh_pmu_event_init()