Lines Matching refs:event

84 static void hw_perf_event_destroy(struct perf_event *event)  in hw_perf_event_destroy()  argument
121 static int __hw_perf_event_init(struct perf_event *event) in __hw_perf_event_init() argument
123 struct perf_event_attr *attr = &event->attr; in __hw_perf_event_init()
124 struct hw_perf_event *hwc = &event->hw; in __hw_perf_event_init()
152 event->destroy = hw_perf_event_destroy; in __hw_perf_event_init()
179 static void sh_perf_event_update(struct perf_event *event, in sh_perf_event_update() argument
217 local64_add(delta, &event->count); in sh_perf_event_update()
220 static void sh_pmu_stop(struct perf_event *event, int flags) in sh_pmu_stop() argument
223 struct hw_perf_event *hwc = &event->hw; in sh_pmu_stop()
226 if (!(event->hw.state & PERF_HES_STOPPED)) { in sh_pmu_stop()
229 event->hw.state |= PERF_HES_STOPPED; in sh_pmu_stop()
232 if ((flags & PERF_EF_UPDATE) && !(event->hw.state & PERF_HES_UPTODATE)) { in sh_pmu_stop()
233 sh_perf_event_update(event, &event->hw, idx); in sh_pmu_stop()
234 event->hw.state |= PERF_HES_UPTODATE; in sh_pmu_stop()
238 static void sh_pmu_start(struct perf_event *event, int flags) in sh_pmu_start() argument
241 struct hw_perf_event *hwc = &event->hw; in sh_pmu_start()
248 WARN_ON_ONCE(!(event->hw.state & PERF_HES_UPTODATE)); in sh_pmu_start()
250 cpuc->events[idx] = event; in sh_pmu_start()
251 event->hw.state = 0; in sh_pmu_start()
255 static void sh_pmu_del(struct perf_event *event, int flags) in sh_pmu_del() argument
259 sh_pmu_stop(event, PERF_EF_UPDATE); in sh_pmu_del()
260 __clear_bit(event->hw.idx, cpuc->used_mask); in sh_pmu_del()
262 perf_event_update_userpage(event); in sh_pmu_del()
265 static int sh_pmu_add(struct perf_event *event, int flags) in sh_pmu_add() argument
268 struct hw_perf_event *hwc = &event->hw; in sh_pmu_add()
272 perf_pmu_disable(event->pmu); in sh_pmu_add()
285 event->hw.state = PERF_HES_UPTODATE | PERF_HES_STOPPED; in sh_pmu_add()
287 sh_pmu_start(event, PERF_EF_RELOAD); in sh_pmu_add()
289 perf_event_update_userpage(event); in sh_pmu_add()
292 perf_pmu_enable(event->pmu); in sh_pmu_add()
296 static void sh_pmu_read(struct perf_event *event) in sh_pmu_read() argument
298 sh_perf_event_update(event, &event->hw, event->hw.idx); in sh_pmu_read()
301 static int sh_pmu_event_init(struct perf_event *event) in sh_pmu_event_init() argument
306 if (has_branch_stack(event)) in sh_pmu_event_init()
309 switch (event->attr.type) { in sh_pmu_event_init()
313 err = __hw_perf_event_init(event); in sh_pmu_event_init()
321 if (event->destroy) in sh_pmu_event_init()
322 event->destroy(event); in sh_pmu_event_init()