Lines Matching refs:event

75 #define L2_EVT_CODE(event)   (((event) & L2_EVT_CODE_MASK) >> L2_EVT_CODE_SHIFT)  argument
76 #define L2_EVT_GROUP(event) (((event) & L2_EVT_GRP_MASK) >> L2_EVT_GRP_SHIFT) argument
297 static void l2_cache_event_update(struct perf_event *event) in l2_cache_event_update() argument
299 struct hw_perf_event *hwc = &event->hw; in l2_cache_event_update()
316 local64_add(delta, &event->count); in l2_cache_event_update()
340 struct perf_event *event) in l2_cache_get_event_idx() argument
342 struct hw_perf_event *hwc = &event->hw; in l2_cache_get_event_idx()
375 struct perf_event *event) in l2_cache_clear_event_idx() argument
377 struct hw_perf_event *hwc = &event->hw; in l2_cache_clear_event_idx()
397 struct perf_event *event = cluster->events[idx]; in l2_cache_handle_irq() local
400 if (WARN_ON_ONCE(!event)) in l2_cache_handle_irq()
406 l2_cache_event_update(event); in l2_cache_handle_irq()
407 hwc = &event->hw; in l2_cache_handle_irq()
438 static int l2_cache_event_init(struct perf_event *event) in l2_cache_event_init() argument
440 struct hw_perf_event *hwc = &event->hw; in l2_cache_event_init()
445 if (event->attr.type != event->pmu->type) in l2_cache_event_init()
448 l2cache_pmu = to_l2cache_pmu(event->pmu); in l2_cache_event_init()
456 if (event->cpu < 0) { in l2_cache_event_init()
462 if (((L2_EVT_GROUP(event->attr.config) > L2_EVT_GROUP_MAX) || in l2_cache_event_init()
463 ((event->attr.config & ~L2_EVT_MASK) != 0)) && in l2_cache_event_init()
464 (event->attr.config != L2CYCLE_CTR_RAW_CODE)) { in l2_cache_event_init()
467 event->attr.config); in l2_cache_event_init()
472 if (event->group_leader->pmu != event->pmu && in l2_cache_event_init()
473 !is_software_event(event->group_leader)) { in l2_cache_event_init()
479 for_each_sibling_event(sibling, event->group_leader) { in l2_cache_event_init()
480 if (sibling->pmu != event->pmu && in l2_cache_event_init()
488 cluster = get_cluster_pmu(l2cache_pmu, event->cpu); in l2_cache_event_init()
492 "CPU%d not associated with L2 cluster\n", event->cpu); in l2_cache_event_init()
497 if ((event->group_leader != event) && in l2_cache_event_init()
498 (cluster->on_cpu != event->group_leader->cpu)) { in l2_cache_event_init()
501 event->cpu, event->group_leader->cpu); in l2_cache_event_init()
505 if ((event != event->group_leader) && in l2_cache_event_init()
506 !is_software_event(event->group_leader) && in l2_cache_event_init()
507 (L2_EVT_GROUP(event->group_leader->attr.config) == in l2_cache_event_init()
508 L2_EVT_GROUP(event->attr.config))) { in l2_cache_event_init()
511 event->group_leader->attr.config, in l2_cache_event_init()
512 event->attr.config); in l2_cache_event_init()
516 for_each_sibling_event(sibling, event->group_leader) { in l2_cache_event_init()
517 if ((sibling != event) && in l2_cache_event_init()
520 L2_EVT_GROUP(event->attr.config))) { in l2_cache_event_init()
524 event->attr.config); in l2_cache_event_init()
530 hwc->config_base = event->attr.config; in l2_cache_event_init()
536 event->cpu = cluster->on_cpu; in l2_cache_event_init()
541 static void l2_cache_event_start(struct perf_event *event, int flags) in l2_cache_event_start() argument
544 struct hw_perf_event *hwc = &event->hw; in l2_cache_event_start()
551 cluster = get_cluster_pmu(to_l2cache_pmu(event->pmu), event->cpu); in l2_cache_event_start()
572 static void l2_cache_event_stop(struct perf_event *event, int flags) in l2_cache_event_stop() argument
574 struct hw_perf_event *hwc = &event->hw; in l2_cache_event_stop()
584 l2_cache_event_update(event); in l2_cache_event_stop()
588 static int l2_cache_event_add(struct perf_event *event, int flags) in l2_cache_event_add() argument
590 struct hw_perf_event *hwc = &event->hw; in l2_cache_event_add()
595 cluster = get_cluster_pmu(to_l2cache_pmu(event->pmu), event->cpu); in l2_cache_event_add()
597 idx = l2_cache_get_event_idx(cluster, event); in l2_cache_event_add()
603 cluster->events[idx] = event; in l2_cache_event_add()
607 l2_cache_event_start(event, flags); in l2_cache_event_add()
610 perf_event_update_userpage(event); in l2_cache_event_add()
615 static void l2_cache_event_del(struct perf_event *event, int flags) in l2_cache_event_del() argument
617 struct hw_perf_event *hwc = &event->hw; in l2_cache_event_del()
621 cluster = get_cluster_pmu(to_l2cache_pmu(event->pmu), event->cpu); in l2_cache_event_del()
623 l2_cache_event_stop(event, flags | PERF_EF_UPDATE); in l2_cache_event_del()
625 l2_cache_clear_event_idx(cluster, event); in l2_cache_event_del()
627 perf_event_update_userpage(event); in l2_cache_event_del()
630 static void l2_cache_event_read(struct perf_event *event) in l2_cache_event_read() argument
632 l2_cache_event_update(event); in l2_cache_event_read()
659 PMU_FORMAT_ATTR(event, "config:0-11");