Symbol: starlink_pmu
drivers/perf/starfive_starlink_pmu.c
132
struct starlink_pmu *starlink_pmu = to_starlink_pmu(dev_get_drvdata(dev));
drivers/perf/starfive_starlink_pmu.c
134
return cpumap_print_to_pagebuf(true, buf, &starlink_pmu->cpumask);
drivers/perf/starfive_starlink_pmu.c
157
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
169
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_CYCLE_COUNTER);
drivers/perf/starfive_starlink_pmu.c
171
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_EVENT_COUNTER +
drivers/perf/starfive_starlink_pmu.c
176
struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
191
val = readq(starlink_pmu->pmu_base + STARLINK_PMU_INTERRUPT_ENABLE);
drivers/perf/starfive_starlink_pmu.c
200
writeq(event->hw.config, starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
206
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_INTERRUPT_ENABLE);
drivers/perf/starfive_starlink_pmu.c
208
writeq(STARLINK_PMU_GLOBAL_ENABLE, starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
213
struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
219
val = readq(starlink_pmu->pmu_base + STARLINK_PMU_CONTROL);
drivers/perf/starfive_starlink_pmu.c
221
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_CONTROL);
drivers/perf/starfive_starlink_pmu.c
223
val = readq(starlink_pmu->pmu_base + STARLINK_PMU_INTERRUPT_ENABLE);
drivers/perf/starfive_starlink_pmu.c
229
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_INTERRUPT_ENABLE);
drivers/perf/starfive_starlink_pmu.c
234
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
244
new_raw_count = readq(starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
247
new_raw_count = readq(starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
260
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
272
starlink_pmu_counter_start(event, starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
279
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
285
starlink_pmu_counter_stop(event, starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
292
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
294
this_cpu_ptr(starlink_pmu->hw_events);
drivers/perf/starfive_starlink_pmu.c
332
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
334
this_cpu_ptr(starlink_pmu->hw_events);
drivers/perf/starfive_starlink_pmu.c
370
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
392
event->cpu = cpumask_first(&starlink_pmu->cpumask);
drivers/perf/starfive_starlink_pmu.c
399
struct starlink_pmu *starlink_pmu = data;
drivers/perf/starfive_starlink_pmu.c
401
this_cpu_ptr(starlink_pmu->hw_events);
drivers/perf/starfive_starlink_pmu.c
412
overflow_status = readq(starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
417
writeq(BIT_ULL(idx), starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
427
static int starlink_setup_irqs(struct starlink_pmu *starlink_pmu,
drivers/perf/starfive_starlink_pmu.c
437
0, STARLINK_PMU_PDEV_NAME, starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
441
starlink_pmu->irq = irq;
drivers/perf/starfive_starlink_pmu.c
449
struct starlink_pmu *starlink_pmu = container_of(b, struct starlink_pmu,
drivers/perf/starfive_starlink_pmu.c
452
this_cpu_ptr(starlink_pmu->hw_events);
drivers/perf/starfive_starlink_pmu.c
483
static int starlink_pmu_pm_register(struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
488
starlink_pmu->starlink_pmu_pm_nb.notifier_call = starlink_pmu_pm_notify;
drivers/perf/starfive_starlink_pmu.c
489
return cpu_pm_register_notifier(&starlink_pmu->starlink_pmu_pm_nb);
drivers/perf/starfive_starlink_pmu.c
492
static void starlink_pmu_pm_unregister(struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
497
cpu_pm_unregister_notifier(&starlink_pmu->starlink_pmu_pm_nb);
drivers/perf/starfive_starlink_pmu.c
500
static void starlink_pmu_destroy(struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
502
starlink_pmu_pm_unregister(starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
504
&starlink_pmu->node);
drivers/perf/starfive_starlink_pmu.c
509
struct starlink_pmu *starlink_pmu;
drivers/perf/starfive_starlink_pmu.c
51
#define to_starlink_pmu(p) (container_of(p, struct starlink_pmu, pmu))
drivers/perf/starfive_starlink_pmu.c
514
starlink_pmu = devm_kzalloc(&pdev->dev, sizeof(*starlink_pmu), GFP_KERNEL);
drivers/perf/starfive_starlink_pmu.c
515
if (!starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
518
starlink_pmu->pmu_base =
drivers/perf/starfive_starlink_pmu.c
520
if (IS_ERR(starlink_pmu->pmu_base))
drivers/perf/starfive_starlink_pmu.c
521
return PTR_ERR(starlink_pmu->pmu_base);
drivers/perf/starfive_starlink_pmu.c
523
starlink_pmu->hw_events = alloc_percpu_gfp(struct starlink_hw_events,
drivers/perf/starfive_starlink_pmu.c
525
if (!starlink_pmu->hw_events) {
drivers/perf/starfive_starlink_pmu.c
531
hw_events = per_cpu_ptr(starlink_pmu->hw_events, cpuid);
drivers/perf/starfive_starlink_pmu.c
536
ret = starlink_setup_irqs(starlink_pmu, pdev);
drivers/perf/starfive_starlink_pmu.c
541
&starlink_pmu->node);
drivers/perf/starfive_starlink_pmu.c
547
ret = starlink_pmu_pm_register(starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
550
&starlink_pmu->node);
drivers/perf/starfive_starlink_pmu.c
554
starlink_pmu->pmu = (struct pmu) {
drivers/perf/starfive_starlink_pmu.c
565
ret = perf_pmu_register(&starlink_pmu->pmu, STARLINK_PMU_PDEV_NAME, -1);
drivers/perf/starfive_starlink_pmu.c
567
starlink_pmu_destroy(starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
590
struct starlink_pmu *starlink_pmu = hlist_entry_safe(node,
drivers/perf/starfive_starlink_pmu.c
591
struct starlink_pmu,
drivers/perf/starfive_starlink_pmu.c
594
if (cpumask_empty(&starlink_pmu->cpumask))
drivers/perf/starfive_starlink_pmu.c
595
cpumask_set_cpu(cpu, &starlink_pmu->cpumask);
drivers/perf/starfive_starlink_pmu.c
597
WARN_ON(irq_set_affinity(starlink_pmu->irq, cpumask_of(cpu)));
drivers/perf/starfive_starlink_pmu.c
605
struct starlink_pmu *starlink_pmu = hlist_entry_safe(node,
drivers/perf/starfive_starlink_pmu.c
606
struct starlink_pmu,
drivers/perf/starfive_starlink_pmu.c
610
if (!cpumask_test_and_clear_cpu(cpu, &starlink_pmu->cpumask))
drivers/perf/starfive_starlink_pmu.c
617
perf_pmu_migrate_context(&starlink_pmu->pmu, cpu, target);
drivers/perf/starfive_starlink_pmu.c
619
cpumask_set_cpu(target, &starlink_pmu->cpumask);
drivers/perf/starfive_starlink_pmu.c
620
WARN_ON(irq_set_affinity(starlink_pmu->irq, cpumask_of(target)));