Lines Matching refs:event

81 static void hw_perf_event_destroy(struct perf_event *event)  in hw_perf_event_destroy()  argument
118 static int __hw_perf_event_init(struct perf_event *event) in __hw_perf_event_init() argument
120 struct perf_event_attr *attr = &event->attr; in __hw_perf_event_init()
121 struct hw_perf_event *hwc = &event->hw; in __hw_perf_event_init()
149 event->destroy = hw_perf_event_destroy; in __hw_perf_event_init()
176 static void sh_perf_event_update(struct perf_event *event, in sh_perf_event_update() argument
214 local64_add(delta, &event->count); in sh_perf_event_update()
217 static void sh_pmu_stop(struct perf_event *event, int flags) in sh_pmu_stop() argument
220 struct hw_perf_event *hwc = &event->hw; in sh_pmu_stop()
223 if (!(event->hw.state & PERF_HES_STOPPED)) { in sh_pmu_stop()
226 event->hw.state |= PERF_HES_STOPPED; in sh_pmu_stop()
229 if ((flags & PERF_EF_UPDATE) && !(event->hw.state & PERF_HES_UPTODATE)) { in sh_pmu_stop()
230 sh_perf_event_update(event, &event->hw, idx); in sh_pmu_stop()
231 event->hw.state |= PERF_HES_UPTODATE; in sh_pmu_stop()
235 static void sh_pmu_start(struct perf_event *event, int flags) in sh_pmu_start() argument
238 struct hw_perf_event *hwc = &event->hw; in sh_pmu_start()
245 WARN_ON_ONCE(!(event->hw.state & PERF_HES_UPTODATE)); in sh_pmu_start()
247 cpuc->events[idx] = event; in sh_pmu_start()
248 event->hw.state = 0; in sh_pmu_start()
252 static void sh_pmu_del(struct perf_event *event, int flags) in sh_pmu_del() argument
256 sh_pmu_stop(event, PERF_EF_UPDATE); in sh_pmu_del()
257 __clear_bit(event->hw.idx, cpuc->used_mask); in sh_pmu_del()
259 perf_event_update_userpage(event); in sh_pmu_del()
262 static int sh_pmu_add(struct perf_event *event, int flags) in sh_pmu_add() argument
265 struct hw_perf_event *hwc = &event->hw; in sh_pmu_add()
269 perf_pmu_disable(event->pmu); in sh_pmu_add()
282 event->hw.state = PERF_HES_UPTODATE | PERF_HES_STOPPED; in sh_pmu_add()
284 sh_pmu_start(event, PERF_EF_RELOAD); in sh_pmu_add()
286 perf_event_update_userpage(event); in sh_pmu_add()
289 perf_pmu_enable(event->pmu); in sh_pmu_add()
293 static void sh_pmu_read(struct perf_event *event) in sh_pmu_read() argument
295 sh_perf_event_update(event, &event->hw, event->hw.idx); in sh_pmu_read()
298 static int sh_pmu_event_init(struct perf_event *event) in sh_pmu_event_init() argument
303 if (has_branch_stack(event)) in sh_pmu_event_init()
306 switch (event->attr.type) { in sh_pmu_event_init()
310 err = __hw_perf_event_init(event); in sh_pmu_event_init()
318 if (event->destroy) in sh_pmu_event_init()
319 event->destroy(event); in sh_pmu_event_init()