Symbol: starlink_pmu
drivers/perf/starfive_starlink_pmu.c
131
struct starlink_pmu *starlink_pmu = to_starlink_pmu(dev_get_drvdata(dev));
drivers/perf/starfive_starlink_pmu.c
133
return cpumap_print_to_pagebuf(true, buf, &starlink_pmu->cpumask);
drivers/perf/starfive_starlink_pmu.c
156
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
168
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_CYCLE_COUNTER);
drivers/perf/starfive_starlink_pmu.c
170
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_EVENT_COUNTER +
drivers/perf/starfive_starlink_pmu.c
175
struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
190
val = readq(starlink_pmu->pmu_base + STARLINK_PMU_INTERRUPT_ENABLE);
drivers/perf/starfive_starlink_pmu.c
199
writeq(event->hw.config, starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
205
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_INTERRUPT_ENABLE);
drivers/perf/starfive_starlink_pmu.c
207
writeq(STARLINK_PMU_GLOBAL_ENABLE, starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
212
struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
218
val = readq(starlink_pmu->pmu_base + STARLINK_PMU_CONTROL);
drivers/perf/starfive_starlink_pmu.c
220
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_CONTROL);
drivers/perf/starfive_starlink_pmu.c
222
val = readq(starlink_pmu->pmu_base + STARLINK_PMU_INTERRUPT_ENABLE);
drivers/perf/starfive_starlink_pmu.c
228
writeq(val, starlink_pmu->pmu_base + STARLINK_PMU_INTERRUPT_ENABLE);
drivers/perf/starfive_starlink_pmu.c
233
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
243
new_raw_count = readq(starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
246
new_raw_count = readq(starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
259
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
271
starlink_pmu_counter_start(event, starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
278
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
284
starlink_pmu_counter_stop(event, starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
291
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
293
this_cpu_ptr(starlink_pmu->hw_events);
drivers/perf/starfive_starlink_pmu.c
331
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
333
this_cpu_ptr(starlink_pmu->hw_events);
drivers/perf/starfive_starlink_pmu.c
369
struct starlink_pmu *starlink_pmu = to_starlink_pmu(event->pmu);
drivers/perf/starfive_starlink_pmu.c
391
event->cpu = cpumask_first(&starlink_pmu->cpumask);
drivers/perf/starfive_starlink_pmu.c
398
struct starlink_pmu *starlink_pmu = data;
drivers/perf/starfive_starlink_pmu.c
400
this_cpu_ptr(starlink_pmu->hw_events);
drivers/perf/starfive_starlink_pmu.c
411
overflow_status = readq(starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
416
writeq(BIT_ULL(idx), starlink_pmu->pmu_base +
drivers/perf/starfive_starlink_pmu.c
426
static int starlink_setup_irqs(struct starlink_pmu *starlink_pmu,
drivers/perf/starfive_starlink_pmu.c
436
0, STARLINK_PMU_PDEV_NAME, starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
440
starlink_pmu->irq = irq;
drivers/perf/starfive_starlink_pmu.c
448
struct starlink_pmu *starlink_pmu = container_of(b, struct starlink_pmu,
drivers/perf/starfive_starlink_pmu.c
451
this_cpu_ptr(starlink_pmu->hw_events);
drivers/perf/starfive_starlink_pmu.c
482
static int starlink_pmu_pm_register(struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
487
starlink_pmu->starlink_pmu_pm_nb.notifier_call = starlink_pmu_pm_notify;
drivers/perf/starfive_starlink_pmu.c
488
return cpu_pm_register_notifier(&starlink_pmu->starlink_pmu_pm_nb);
drivers/perf/starfive_starlink_pmu.c
491
static void starlink_pmu_pm_unregister(struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
496
cpu_pm_unregister_notifier(&starlink_pmu->starlink_pmu_pm_nb);
drivers/perf/starfive_starlink_pmu.c
499
static void starlink_pmu_destroy(struct starlink_pmu *starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
50
#define to_starlink_pmu(p) (container_of(p, struct starlink_pmu, pmu))
drivers/perf/starfive_starlink_pmu.c
501
starlink_pmu_pm_unregister(starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
503
&starlink_pmu->node);
drivers/perf/starfive_starlink_pmu.c
508
struct starlink_pmu *starlink_pmu;
drivers/perf/starfive_starlink_pmu.c
513
starlink_pmu = devm_kzalloc(&pdev->dev, sizeof(*starlink_pmu), GFP_KERNEL);
drivers/perf/starfive_starlink_pmu.c
514
if (!starlink_pmu)
drivers/perf/starfive_starlink_pmu.c
517
starlink_pmu->pmu_base =
drivers/perf/starfive_starlink_pmu.c
519
if (IS_ERR(starlink_pmu->pmu_base))
drivers/perf/starfive_starlink_pmu.c
520
return PTR_ERR(starlink_pmu->pmu_base);
drivers/perf/starfive_starlink_pmu.c
522
starlink_pmu->hw_events = alloc_percpu_gfp(struct starlink_hw_events,
drivers/perf/starfive_starlink_pmu.c
524
if (!starlink_pmu->hw_events) {
drivers/perf/starfive_starlink_pmu.c
530
hw_events = per_cpu_ptr(starlink_pmu->hw_events, cpuid);
drivers/perf/starfive_starlink_pmu.c
535
ret = starlink_setup_irqs(starlink_pmu, pdev);
drivers/perf/starfive_starlink_pmu.c
540
&starlink_pmu->node);
drivers/perf/starfive_starlink_pmu.c
546
ret = starlink_pmu_pm_register(starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
549
&starlink_pmu->node);
drivers/perf/starfive_starlink_pmu.c
553
starlink_pmu->pmu = (struct pmu) {
drivers/perf/starfive_starlink_pmu.c
564
ret = perf_pmu_register(&starlink_pmu->pmu, STARLINK_PMU_PDEV_NAME, -1);
drivers/perf/starfive_starlink_pmu.c
566
starlink_pmu_destroy(starlink_pmu);
drivers/perf/starfive_starlink_pmu.c
589
struct starlink_pmu *starlink_pmu = hlist_entry_safe(node,
drivers/perf/starfive_starlink_pmu.c
590
struct starlink_pmu,
drivers/perf/starfive_starlink_pmu.c
593
if (cpumask_empty(&starlink_pmu->cpumask))
drivers/perf/starfive_starlink_pmu.c
594
cpumask_set_cpu(cpu, &starlink_pmu->cpumask);
drivers/perf/starfive_starlink_pmu.c
596
WARN_ON(irq_set_affinity(starlink_pmu->irq, cpumask_of(cpu)));
drivers/perf/starfive_starlink_pmu.c
604
struct starlink_pmu *starlink_pmu = hlist_entry_safe(node,
drivers/perf/starfive_starlink_pmu.c
605
struct starlink_pmu,
drivers/perf/starfive_starlink_pmu.c
609
if (!cpumask_test_and_clear_cpu(cpu, &starlink_pmu->cpumask))
drivers/perf/starfive_starlink_pmu.c
616
perf_pmu_migrate_context(&starlink_pmu->pmu, cpu, target);
drivers/perf/starfive_starlink_pmu.c
618
cpumask_set_cpu(target, &starlink_pmu->cpumask);
drivers/perf/starfive_starlink_pmu.c
619
WARN_ON(irq_set_affinity(starlink_pmu->irq, cpumask_of(target)));