Home
last modified time | relevance | path

Searched refs:hw_events (Results 1 – 25 of 29) sorted by relevance

12

/linux/drivers/perf/
H A Darm_pmu_platform.c48 struct pmu_hw_events __percpu *hw_events = pmu->hw_events; in pmu_parse_percpu_irq() local
54 per_cpu(hw_events->irq, cpu) = irq; in pmu_parse_percpu_irq()
98 struct pmu_hw_events __percpu *hw_events = pmu->hw_events; in pmu_parse_irqs() local
146 if (per_cpu(hw_events->irq, cpu)) { in pmu_parse_irqs()
151 per_cpu(hw_events->irq, cpu) = irq; in pmu_parse_irqs()
160 struct pmu_hw_events __percpu *hw_events = armpmu->hw_events; in armpmu_request_irqs() local
164 int irq = per_cpu(hw_events->irq, cpu); in armpmu_request_irqs()
168 err = armpmu_request_irq(&hw_events->percpu_pmu, irq, cpu); in armpmu_request_irqs()
179 struct pmu_hw_events __percpu *hw_events = armpmu->hw_events; in armpmu_free_irqs() local
182 int irq = per_cpu(hw_events->irq, cpu); in armpmu_free_irqs()
[all …]
H A Darm_pmu.c320 struct pmu_hw_events *hw_events = this_cpu_ptr(armpmu->hw_events); in armpmu_del() local
327 hw_events->branch_users--; in armpmu_del()
331 hw_events->events[idx] = NULL; in armpmu_del()
332 armpmu->clear_event_idx(hw_events, event); in armpmu_del()
342 struct pmu_hw_events *hw_events = this_cpu_ptr(armpmu->hw_events); in armpmu_add() local
351 idx = armpmu->get_event_idx(hw_events, event); in armpmu_add()
356 WARN_ON_ONCE(hw_events->events[idx]); in armpmu_add()
359 hw_events->branch_users++; in armpmu_add()
364 hw_events->events[idx] = event; in armpmu_add()
377 validate_event(struct pmu *pmu, struct pmu_hw_events *hw_events, in validate_event() argument
[all …]
H A Dstarfive_starlink_pmu.c71 struct starlink_hw_events __percpu *hw_events; member
293 struct starlink_hw_events *hw_events = in starlink_pmu_add() local
294 this_cpu_ptr(starlink_pmu->hw_events); in starlink_pmu_add()
296 unsigned long *used_mask = hw_events->used_mask; in starlink_pmu_add()
319 hw_events->events[idx] = event; in starlink_pmu_add()
333 struct starlink_hw_events *hw_events = in starlink_pmu_del() local
334 this_cpu_ptr(starlink_pmu->hw_events); in starlink_pmu_del()
338 hw_events->events[hwc->idx] = NULL; in starlink_pmu_del()
339 clear_bit(hwc->idx, hw_events->used_mask); in starlink_pmu_del()
400 struct starlink_hw_events *hw_events = in starlink_pmu_handle_irq() local
[all …]
H A Darm-cci.c105 struct cci_pmu_hw_events hw_events; member
640 struct cci_pmu_hw_events *cci_hw = &cci_pmu->hw_events; in cci_pmu_sync_counters()
644 for_each_set_bit(i, cci_pmu->hw_events.used_mask, cci_pmu->num_cntrs) { in cci_pmu_sync_counters()
886 struct cci_pmu_hw_events *cci_hw = &cci_pmu->hw_events; in __pmu_write_counters()
951 struct perf_event *event = cci_pmu->hw_events.events[i]; in cci5xx_pmu_write_counters()
1017 struct cci_pmu_hw_events *events = &cci_pmu->hw_events; in pmu_handle_irq()
1085 struct cci_pmu_hw_events *hw_events = &cci_pmu->hw_events; in cci_pmu_enable() local
1086 bool enabled = !bitmap_empty(hw_events->used_mask, cci_pmu->num_cntrs); in cci_pmu_enable()
1092 raw_spin_lock_irqsave(&hw_events->pmu_lock, flags); in cci_pmu_enable()
1094 raw_spin_unlock_irqrestore(&hw_events->pmu_lock, flags); in cci_pmu_enable()
[all …]
H A Darm_dsu_pmu.c112 struct dsu_hw_events hw_events; member
278 static int dsu_pmu_get_event_idx(struct dsu_hw_events *hw_events, in dsu_pmu_get_event_idx() argument
284 unsigned long *used_mask = hw_events->used_mask; in dsu_pmu_get_event_idx()
294 set_bit(idx, hw_events->used_mask); in dsu_pmu_get_event_idx()
377 struct dsu_hw_events *hw_events = &dsu_pmu->hw_events; in dsu_pmu_handle_irq() local
385 struct perf_event *event = hw_events->events[i]; in dsu_pmu_handle_irq()
425 struct dsu_hw_events *hw_events = &dsu_pmu->hw_events; in dsu_pmu_add() local
433 idx = dsu_pmu_get_event_idx(hw_events, event); in dsu_pmu_add()
438 hw_events->events[idx] = event; in dsu_pmu_add()
451 struct dsu_hw_events *hw_events = &dsu_pmu->hw_events; in dsu_pmu_del() local
[all …]
H A Darm_pmu_acpi.c272 struct pmu_hw_events __percpu *hw_events = pmu->hw_events; in pmu_irq_matches() local
279 int other_irq = per_cpu(hw_events->irq, cpu); in pmu_irq_matches()
303 struct pmu_hw_events __percpu *hw_events; in arm_pmu_acpi_associate_pmu_cpu() local
304 hw_events = pmu->hw_events; in arm_pmu_acpi_associate_pmu_cpu()
305 per_cpu(hw_events->irq, cpu) = irq; in arm_pmu_acpi_associate_pmu_cpu()
H A Driscv_pmu_sbi.c542 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in pmu_sbi_ctr_get_idx()
601 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in pmu_sbi_ctr_clear_idx()
661 struct cpu_hw_events *cpu_hw_evt = per_cpu_ptr(pmu->hw_events, cpu); in pmu_sbi_snapshot_free()
678 struct cpu_hw_events *cpu_hw_evt = per_cpu_ptr(pmu->hw_events, cpu); in pmu_sbi_snapshot_alloc()
711 cpu_hw_evt = per_cpu_ptr(pmu->hw_events, cpu); in pmu_sbi_snapshot_setup()
746 struct cpu_hw_events *cpu_hw_evt = this_cpu_ptr(pmu->hw_events); in pmu_sbi_ctr_read()
827 struct cpu_hw_events *cpu_hw_evt = this_cpu_ptr(pmu->hw_events); in pmu_sbi_ctr_stop()
912 struct cpu_hw_events *cpu_hw_evt = this_cpu_ptr(pmu->hw_events); in pmu_sbi_stop_hw_ctrs()
1033 struct cpu_hw_events *cpu_hw_evt = this_cpu_ptr(pmu->hw_events); in pmu_sbi_start_overflow_mask()
1151 struct cpu_hw_events *cpu_hw_evt = this_cpu_ptr(pmu->hw_events); in pmu_sbi_starting_cpu()
[all …]
H A Driscv_pmu.c260 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in riscv_pmu_add()
284 struct cpu_hw_events *cpuc = this_cpu_ptr(rvpmu->hw_events); in riscv_pmu_del()
396 pmu->hw_events = alloc_percpu_gfp(struct cpu_hw_events, GFP_KERNEL); in riscv_pmu_alloc()
397 if (!pmu->hw_events) { in riscv_pmu_alloc()
403 cpuc = per_cpu_ptr(pmu->hw_events, cpuid); in riscv_pmu_alloc()
H A Darm_pmuv3.c798 struct pmu_hw_events *cpuc = this_cpu_ptr(cpu_pmu->hw_events); in armv8pmu_enable_user_access()
839 struct pmu_hw_events *hw_events = this_cpu_ptr(cpu_pmu->hw_events); in armv8pmu_start() local
853 if (hw_events->branch_users) in armv8pmu_start()
862 struct pmu_hw_events *hw_events = this_cpu_ptr(cpu_pmu->hw_events); in armv8pmu_stop() local
864 if (hw_events->branch_users) in armv8pmu_stop()
885 struct pmu_hw_events *cpuc = this_cpu_ptr(cpu_pmu->hw_events); in armv8pmu_handle_irq()
1078 struct pmu_hw_events *hw_events = this_cpu_ptr(armpmu->hw_events); in armv8pmu_sched_task() local
1080 if (!hw_events->branch_users) in armv8pmu_sched_task()
1363 events_cpu = per_cpu_ptr(armpmu->hw_events, cpu); in branch_records_alloc()
H A Dcxl_pmu.c98 struct perf_event **hw_events; member
747 info->hw_events[idx] = event; in cxl_pmu_event_add()
763 info->hw_events[hwc->idx] = NULL; in cxl_pmu_event_del()
783 struct perf_event *event = info->hw_events[i]; in cxl_pmu_irq()
837 info->hw_events = devm_kcalloc(dev, info->num_counters, in cxl_pmu_probe()
838 sizeof(*info->hw_events), GFP_KERNEL); in cxl_pmu_probe()
839 if (!info->hw_events) in cxl_pmu_probe()
H A Darm_xscale_pmu.c149 struct pmu_hw_events *cpuc = this_cpu_ptr(cpu_pmu->hw_events); in xscale1pmu_handle_irq()
487 struct pmu_hw_events *cpuc = this_cpu_ptr(cpu_pmu->hw_events); in xscale2pmu_handle_irq()
H A Darm_v6_pmu.c242 struct pmu_hw_events *cpuc = this_cpu_ptr(cpu_pmu->hw_events); in armv6pmu_handle_irq()
/linux/drivers/perf/arm_cspmu/
H A Darm_cspmu.c534 disabled = bitmap_empty(cspmu->hw_events.used_ctrs, in arm_cspmu_enable()
550 static int arm_cspmu_get_event_idx(struct arm_cspmu_hw_events *hw_events, in arm_cspmu_get_event_idx() argument
560 hw_events->used_ctrs)) in arm_cspmu_get_event_idx()
571 idx = find_first_zero_bit(hw_events->used_ctrs, in arm_cspmu_get_event_idx()
575 hw_events->used_ctrs, in arm_cspmu_get_event_idx()
580 idx = find_first_zero_bit(hw_events->used_ctrs, in arm_cspmu_get_event_idx()
593 set_bit(idx, hw_events->used_ctrs); in arm_cspmu_get_event_idx()
599 struct arm_cspmu_hw_events *hw_events, in arm_cspmu_validate_event() argument
609 return (arm_cspmu_get_event_idx(hw_events, event) >= 0); in arm_cspmu_validate_event()
874 struct arm_cspmu_hw_events *hw_events = &cspmu->hw_events; in arm_cspmu_add() local
[all …]
H A Dampere_cspmu.c181 idx = find_first_bit(cspmu->hw_events.used_ctrs, in ampere_cspmu_validate_event()
188 curr = cspmu->hw_events.events[idx]; in ampere_cspmu_validate_event()
H A Darm_cspmu.h241 struct arm_cspmu_hw_events hw_events; member
/linux/arch/csky/kernel/
H A Dperf_event.c41 struct pmu_hw_events __percpu *hw_events; member
1075 struct pmu_hw_events *hw_events = this_cpu_ptr(csky_pmu.hw_events); in csky_pmu_del() local
1080 hw_events->events[hwc->idx] = NULL; in csky_pmu_del()
1088 struct pmu_hw_events *hw_events = this_cpu_ptr(csky_pmu.hw_events); in csky_pmu_add() local
1091 hw_events->events[hwc->idx] = event; in csky_pmu_add()
1106 struct pmu_hw_events *cpuc = this_cpu_ptr(csky_pmu.hw_events); in csky_pmu_handle_irq()
1177 this_cpu_ptr(csky_pmu.hw_events)); in csky_pmu_request_irq()
1194 free_percpu_irq(irq, this_cpu_ptr(csky_pmu.hw_events)); in csky_pmu_free_irq()
1199 csky_pmu.hw_events = alloc_percpu_gfp(struct pmu_hw_events, in init_hw_perf_events()
1201 if (!csky_pmu.hw_events) { in init_hw_perf_events()
[all …]
/linux/include/linux/perf/
H A Darm_pmu.h95 int (*get_event_idx)(struct pmu_hw_events *hw_events,
97 void (*clear_event_idx)(struct pmu_hw_events *hw_events,
114 struct pmu_hw_events __percpu *hw_events; member
H A Driscv_pmu.h71 struct cpu_hw_events __percpu *hw_events; member
/linux/drivers/perf/hisilicon/
H A Dhisi_pcie_pmu.c66 struct perf_event *hw_events[HISI_PCIE_MAX_COUNTERS]; member
430 sibling = pcie_pmu->hw_events[idx]; in hisi_pcie_pmu_get_event_idx()
590 if (!pcie_pmu->hw_events[idx]) { in hisi_pcie_pmu_add()
592 pcie_pmu->hw_events[idx] = event; in hisi_pcie_pmu_add()
607 pcie_pmu->hw_events[hwc->idx] = NULL; in hisi_pcie_pmu_del()
617 if (pcie_pmu->hw_events[num]) in hisi_pcie_pmu_enable()
649 event = pcie_pmu->hw_events[idx]; in hisi_pcie_pmu_irq()
H A Dhisi_uncore_pmu.c171 event = hisi_pmu->pmu_events.hw_events[idx]; in hisi_uncore_pmu_isr()
390 hisi_pmu->pmu_events.hw_events[idx] = event; in hisi_uncore_pmu_add()
407 hisi_pmu->pmu_events.hw_events[hwc->idx] = NULL; in hisi_uncore_pmu_del()
H A Dhisi_uncore_pmu.h82 struct perf_event *hw_events[HISI_MAX_COUNTERS]; member
H A Dhns3_pmu.c302 struct perf_event *hw_events[HNS3_PMU_MAX_HW_EVENTS]; member
780 sibling = hns3_pmu->hw_events[idx]; in hns3_pmu_find_related_event_idx()
807 if (!hns3_pmu->hw_events[idx]) in hns3_pmu_get_event_idx()
1355 hns3_pmu->hw_events[idx] = event; in hns3_pmu_add()
1370 hns3_pmu->hw_events[hwc->idx] = NULL; in hns3_pmu_del()
H A Dhisi_uncore_l3c_pmu.c383 struct hw_perf_event *hwc = &l3c_pmu->pmu_events.hw_events[idx]->hw; in hisi_l3c_pmu_write_evtype()
533 struct hw_perf_event *hwc = &l3c_pmu->pmu_events.hw_events[idx]->hw; in hisi_l3c_pmu_clear_int_status()
H A Dhisi_uncore_noc_pmu.c86 !hisi_noc_pmu_check_global_filter(pmu_events->hw_events[cur_idx], event)) in hisi_noc_pmu_get_event_idx()
/linux/drivers/accel/habanalabs/gaudi2/
H A Dgaudi2P.h556 u32 hw_events[GAUDI2_EVENT_SIZE]; member

12