arch/arm64/include/asm/kvm_host.h
369
struct arm_pmu *arm_pmu;
arch/arm64/kvm/arm.c
1573
if (kvm_vcpu_has_pmu(vcpu) && !kvm->arch.arm_pmu)
arch/arm64/kvm/pmu-emul.c
1012
struct arm_pmu *arm_pmu = kvm->arch.arm_pmu;
arch/arm64/kvm/pmu-emul.c
1025
return bitmap_weight(arm_pmu->cntr_mask, ARMV8_PMU_MAX_GENERAL_COUNTERS);
arch/arm64/kvm/pmu-emul.c
1046
static void kvm_arm_set_pmu(struct kvm *kvm, struct arm_pmu *arm_pmu)
arch/arm64/kvm/pmu-emul.c
1050
kvm->arch.arm_pmu = arm_pmu;
arch/arm64/kvm/pmu-emul.c
1068
struct arm_pmu *arm_pmu = kvm_pmu_probe_armpmu();
arch/arm64/kvm/pmu-emul.c
1070
if (!arm_pmu)
arch/arm64/kvm/pmu-emul.c
1073
kvm_arm_set_pmu(kvm, arm_pmu);
arch/arm64/kvm/pmu-emul.c
1081
struct arm_pmu *arm_pmu;
arch/arm64/kvm/pmu-emul.c
1088
arm_pmu = entry->arm_pmu;
arch/arm64/kvm/pmu-emul.c
1089
if (arm_pmu->pmu.type == pmu_id) {
arch/arm64/kvm/pmu-emul.c
1091
(kvm->arch.pmu_filter && kvm->arch.arm_pmu != arm_pmu)) {
arch/arm64/kvm/pmu-emul.c
1096
kvm_arm_set_pmu(kvm, arm_pmu);
arch/arm64/kvm/pmu-emul.c
1097
cpumask_copy(kvm->arch.supported_cpus, &arm_pmu->supported_cpus);
arch/arm64/kvm/pmu-emul.c
1111
if (!kvm->arch.arm_pmu)
arch/arm64/kvm/pmu-emul.c
542
struct arm_pmu *cpu_pmu = to_arm_pmu(perf_event->pmu);
arch/arm64/kvm/pmu-emul.c
667
struct arm_pmu *pmu = kvm->arch.arm_pmu;
arch/arm64/kvm/pmu-emul.c
686
struct arm_pmu *arm_pmu = vcpu->kvm->arch.arm_pmu;
arch/arm64/kvm/pmu-emul.c
725
attr.type = arm_pmu->pmu.type;
arch/arm64/kvm/pmu-emul.c
787
void kvm_host_pmu_init(struct arm_pmu *pmu)
arch/arm64/kvm/pmu-emul.c
804
entry->arm_pmu = pmu;
arch/arm64/kvm/pmu-emul.c
808
static struct arm_pmu *kvm_pmu_probe_armpmu(void)
arch/arm64/kvm/pmu-emul.c
811
struct arm_pmu *pmu;
arch/arm64/kvm/pmu-emul.c
835
pmu = entry->arm_pmu;
arch/arm64/kvm/pmu-emul.c
844
static u64 __compute_pmceid(struct arm_pmu *pmu, bool pmceid1)
arch/arm64/kvm/pmu-emul.c
854
static u64 compute_pmceid0(struct arm_pmu *pmu)
arch/arm64/kvm/pmu-emul.c
865
static u64 compute_pmceid1(struct arm_pmu *pmu)
arch/arm64/kvm/pmu-emul.c
881
struct arm_pmu *cpu_pmu = vcpu->kvm->arch.arm_pmu;
drivers/perf/apple_m1_cpu_pmu.c
444
static irqreturn_t m1_pmu_handle_irq(struct arm_pmu *cpu_pmu)
drivers/perf/apple_m1_cpu_pmu.c
536
static void m1_pmu_start(struct arm_pmu *cpu_pmu)
drivers/perf/apple_m1_cpu_pmu.c
541
static void m1_pmu_stop(struct arm_pmu *cpu_pmu)
drivers/perf/apple_m1_cpu_pmu.c
578
static void m1_pmu_init_pmceid(struct arm_pmu *pmu)
drivers/perf/apple_m1_cpu_pmu.c
626
static int m1_pmu_init(struct arm_pmu *cpu_pmu, u32 flags)
drivers/perf/apple_m1_cpu_pmu.c
658
static int m1_pmu_ice_init(struct arm_pmu *cpu_pmu)
drivers/perf/apple_m1_cpu_pmu.c
664
static int m1_pmu_fire_init(struct arm_pmu *cpu_pmu)
drivers/perf/apple_m1_cpu_pmu.c
670
static int m2_pmu_avalanche_init(struct arm_pmu *cpu_pmu)
drivers/perf/apple_m1_cpu_pmu.c
676
static int m2_pmu_blizzard_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_brbe.c
470
unsigned int brbe_num_branch_records(const struct arm_pmu *armpmu)
drivers/perf/arm_brbe.c
475
void brbe_probe(struct arm_pmu *armpmu)
drivers/perf/arm_brbe.c
494
void brbe_enable(const struct arm_pmu *arm_pmu)
drivers/perf/arm_brbe.c
496
struct pmu_hw_events *cpuc = this_cpu_ptr(arm_pmu->hw_events);
drivers/perf/arm_brbe.c
775
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_brbe.h
10
struct arm_pmu;
drivers/perf/arm_brbe.h
15
void brbe_probe(struct arm_pmu *arm_pmu);
drivers/perf/arm_brbe.h
16
unsigned int brbe_num_branch_records(const struct arm_pmu *armpmu);
drivers/perf/arm_brbe.h
19
void brbe_enable(const struct arm_pmu *arm_pmu);
drivers/perf/arm_brbe.h
26
static inline void brbe_probe(struct arm_pmu *arm_pmu) { }
drivers/perf/arm_brbe.h
27
static inline unsigned int brbe_num_branch_records(const struct arm_pmu *armpmu)
drivers/perf/arm_brbe.h
34
static inline void brbe_enable(const struct arm_pmu *arm_pmu) { };
drivers/perf/arm_pmu.c
206
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmu.c
248
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmu.c
278
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmu.c
294
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmu.c
319
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmu.c
341
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmu.c
380
struct arm_pmu *armpmu;
drivers/perf/arm_pmu.c
434
struct arm_pmu *armpmu;
drivers/perf/arm_pmu.c
459
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmu.c
514
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmu.c
535
struct arm_pmu *armpmu = to_arm_pmu(pmu);
drivers/perf/arm_pmu.c
549
struct arm_pmu *armpmu = to_arm_pmu(pmu);
drivers/perf/arm_pmu.c
565
struct arm_pmu *armpmu = to_arm_pmu(pmu);
drivers/perf/arm_pmu.c
572
struct arm_pmu *armpmu = to_arm_pmu(dev_get_drvdata(dev));
drivers/perf/arm_pmu.c
617
void armpmu_free_irq(struct arm_pmu * __percpu *armpmu, int irq, int cpu)
drivers/perf/arm_pmu.c
630
int armpmu_request_irq(struct arm_pmu * __percpu *pcpu_armpmu, int irq, int cpu)
drivers/perf/arm_pmu.c
633
struct arm_pmu **armpmu = per_cpu_ptr(pcpu_armpmu, cpu);
drivers/perf/arm_pmu.c
68
struct arm_pmu *armpmu = *per_cpu_ptr((void * __percpu *)devid, cpu);
drivers/perf/arm_pmu.c
700
static int armpmu_get_cpu_irq(struct arm_pmu *pmu, int cpu)
drivers/perf/arm_pmu.c
719
struct arm_pmu *pmu = hlist_entry_safe(node, struct arm_pmu, node);
drivers/perf/arm_pmu.c
736
struct arm_pmu *pmu = hlist_entry_safe(node, struct arm_pmu, node);
drivers/perf/arm_pmu.c
750
static void cpu_pm_pmu_setup(struct arm_pmu *armpmu, unsigned long cmd)
drivers/perf/arm_pmu.c
784
struct arm_pmu *armpmu = container_of(b, struct arm_pmu, cpu_pm_nb);
drivers/perf/arm_pmu.c
818
static int cpu_pm_pmu_register(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmu.c
824
static void cpu_pm_pmu_unregister(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmu.c
829
static inline int cpu_pm_pmu_register(struct arm_pmu *cpu_pmu) { return 0; }
drivers/perf/arm_pmu.c
830
static inline void cpu_pm_pmu_unregister(struct arm_pmu *cpu_pmu) { }
drivers/perf/arm_pmu.c
833
static int cpu_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmu.c
855
static void cpu_pmu_destroy(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmu.c
862
struct arm_pmu *armpmu_alloc(void)
drivers/perf/arm_pmu.c
864
struct arm_pmu *pmu;
drivers/perf/arm_pmu.c
917
void armpmu_free(struct arm_pmu *pmu)
drivers/perf/arm_pmu.c
923
int armpmu_register(struct arm_pmu *pmu)
drivers/perf/arm_pmu.c
95
struct arm_pmu *armpmu = *per_cpu_ptr((void * __percpu *)devid, cpu);
drivers/perf/arm_pmu_acpi.c
19
static DEFINE_PER_CPU(struct arm_pmu *, probed_pmus);
drivers/perf/arm_pmu_acpi.c
249
static struct arm_pmu *arm_pmu_acpi_find_pmu(void)
drivers/perf/arm_pmu_acpi.c
252
struct arm_pmu *pmu;
drivers/perf/arm_pmu_acpi.c
270
static bool pmu_irq_matches(struct arm_pmu *pmu, int irq)
drivers/perf/arm_pmu_acpi.c
295
static void arm_pmu_acpi_associate_pmu_cpu(struct arm_pmu *pmu,
drivers/perf/arm_pmu_acpi.c
322
struct arm_pmu *pmu;
drivers/perf/arm_pmu_acpi.c
339
static void arm_pmu_acpi_probe_matching_cpus(struct arm_pmu *pmu,
drivers/perf/arm_pmu_acpi.c
382
struct arm_pmu *pmu = per_cpu(probed_pmus, cpu);
drivers/perf/arm_pmu_platform.c
158
static int armpmu_request_irqs(struct arm_pmu *armpmu)
drivers/perf/arm_pmu_platform.c
176
static void armpmu_free_irqs(struct arm_pmu *armpmu)
drivers/perf/arm_pmu_platform.c
194
struct arm_pmu *pmu;
drivers/perf/arm_pmu_platform.c
25
static int probe_current_pmu(struct arm_pmu *pmu,
drivers/perf/arm_pmu_platform.c
45
static int pmu_parse_percpu_irq(struct arm_pmu *pmu, int irq,
drivers/perf/arm_pmu_platform.c
94
static int pmu_parse_irqs(struct arm_pmu *pmu)
drivers/perf/arm_pmuv3.c
1020
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmuv3.c
1077
struct arm_pmu *armpmu = to_arm_pmu(pmu_ctx->pmu);
drivers/perf/arm_pmuv3.c
1096
struct arm_pmu *cpu_pmu = to_arm_pmu(perf_event->pmu);
drivers/perf/arm_pmuv3.c
1165
struct arm_pmu *cpu_pmu = (struct arm_pmu *)info;
drivers/perf/arm_pmuv3.c
1195
static int __armv8_pmuv3_map_event_id(struct arm_pmu *armpmu,
drivers/perf/arm_pmuv3.c
1226
struct arm_pmu *armpmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmuv3.c
1303
struct arm_pmu *pmu;
drivers/perf/arm_pmuv3.c
1310
struct arm_pmu *cpu_pmu = probe->pmu;
drivers/perf/arm_pmuv3.c
1354
static int branch_records_alloc(struct arm_pmu *armpmu)
drivers/perf/arm_pmuv3.c
1371
static int armv8pmu_probe_pmu(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
1432
static int armv8_pmu_init(struct arm_pmu *cpu_pmu, char *name,
drivers/perf/arm_pmuv3.c
1465
static int name##_pmu_init(struct arm_pmu *cpu_pmu) \
drivers/perf/arm_pmuv3.c
1471
static int name##_pmu_init(struct arm_pmu *cpu_pmu) \
drivers/perf/arm_pmuv3.c
276
struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);
drivers/perf/arm_pmuv3.c
379
struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);
drivers/perf/arm_pmuv3.c
391
struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);
drivers/perf/arm_pmuv3.c
403
struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);
drivers/perf/arm_pmuv3.c
416
static u32 threshold_max(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
436
struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);
drivers/perf/arm_pmuv3.c
447
struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);
drivers/perf/arm_pmuv3.c
467
struct arm_pmu *cpu_pmu = container_of(pmu, struct arm_pmu, pmu);
drivers/perf/arm_pmuv3.c
489
static bool armv8pmu_has_long_event(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
507
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmuv3.c
563
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_pmuv3.c
795
static void armv8pmu_enable_user_access(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
836
static void armv8pmu_start(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
860
static void armv8pmu_stop(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
881
static irqreturn_t armv8pmu_handle_irq(struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
947
struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
959
struct arm_pmu *cpu_pmu)
drivers/perf/arm_pmuv3.c
984
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_v6_pmu.c
238
armv6pmu_handle_irq(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v6_pmu.c
294
static void armv6pmu_start(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v6_pmu.c
303
static void armv6pmu_stop(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v6_pmu.c
382
static void armv6pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v6_pmu.c
398
static int armv6_1136_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v6_pmu.c
405
static int armv6_1176_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1025
struct arm_pmu *cpu_pmu = (struct arm_pmu *)info;
drivers/perf/arm_v7_pmu.c
1098
static void armv7pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1115
struct arm_pmu *cpu_pmu = info;
drivers/perf/arm_v7_pmu.c
1125
static int armv7_probe_num_events(struct arm_pmu *arm_pmu)
drivers/perf/arm_v7_pmu.c
1127
return smp_call_function_any(&arm_pmu->supported_cpus,
drivers/perf/arm_v7_pmu.c
1129
arm_pmu, 1);
drivers/perf/arm_v7_pmu.c
1132
static int armv7_a8_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1144
static int armv7_a9_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1156
static int armv7_a5_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1168
static int armv7_a15_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1181
static int armv7_a7_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1194
static int armv7_a12_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1207
static int armv7_a17_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1467
struct arm_pmu *cpu_pmu = info;
drivers/perf/arm_v7_pmu.c
1494
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_v7_pmu.c
1563
static int krait_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1777
struct arm_pmu *cpu_pmu = info;
drivers/perf/arm_v7_pmu.c
1804
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_v7_pmu.c
1870
static int scorpion_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
1883
static int scorpion_mp_pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
714
static inline int armv7_pmnc_counter_valid(struct arm_pmu *cpu_pmu, int idx)
drivers/perf/arm_v7_pmu.c
732
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_v7_pmu.c
752
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_v7_pmu.c
813
static void armv7_pmnc_dump_regs(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
851
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_v7_pmu.c
875
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_v7_pmu.c
888
static irqreturn_t armv7pmu_handle_irq(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
948
static void armv7pmu_start(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
954
static void armv7pmu_stop(struct arm_pmu *cpu_pmu)
drivers/perf/arm_v7_pmu.c
964
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
drivers/perf/arm_xscale_pmu.c
145
xscale1pmu_handle_irq(struct arm_pmu *cpu_pmu)
drivers/perf/arm_xscale_pmu.c
292
static void xscale1pmu_start(struct arm_pmu *cpu_pmu)
drivers/perf/arm_xscale_pmu.c
301
static void xscale1pmu_stop(struct arm_pmu *cpu_pmu)
drivers/perf/arm_xscale_pmu.c
355
static int xscale1pmu_init(struct arm_pmu *cpu_pmu)
drivers/perf/arm_xscale_pmu.c
483
xscale2pmu_handle_irq(struct arm_pmu *cpu_pmu)
drivers/perf/arm_xscale_pmu.c
641
static void xscale2pmu_start(struct arm_pmu *cpu_pmu)
drivers/perf/arm_xscale_pmu.c
650
static void xscale2pmu_stop(struct arm_pmu *cpu_pmu)
drivers/perf/arm_xscale_pmu.c
710
static int xscale2pmu_init(struct arm_pmu *cpu_pmu)
include/kvm/arm_pmu.h
37
struct arm_pmu *arm_pmu;
include/linux/perf/arm_pmu.h
103
void (*start)(struct arm_pmu *);
include/linux/perf/arm_pmu.h
104
void (*stop)(struct arm_pmu *);
include/linux/perf/arm_pmu.h
134
#define to_arm_pmu(p) (container_of(p, struct arm_pmu, pmu))
include/linux/perf/arm_pmu.h
147
typedef int (*armpmu_init_fn)(struct arm_pmu *);
include/linux/perf/arm_pmu.h
181
void kvm_host_pmu_init(struct arm_pmu *pmu);
include/linux/perf/arm_pmu.h
189
struct arm_pmu *armpmu_alloc(void);
include/linux/perf/arm_pmu.h
190
void armpmu_free(struct arm_pmu *pmu);
include/linux/perf/arm_pmu.h
191
int armpmu_register(struct arm_pmu *pmu);
include/linux/perf/arm_pmu.h
192
int armpmu_request_irq(struct arm_pmu * __percpu *armpmu, int irq, int cpu);
include/linux/perf/arm_pmu.h
193
void armpmu_free_irq(struct arm_pmu * __percpu *armpmu, int irq, int cpu);
include/linux/perf/arm_pmu.h
70
struct arm_pmu *percpu_pmu;
include/linux/perf/arm_pmu.h
92
irqreturn_t (*handle_irq)(struct arm_pmu *pmu);