Lines Matching refs:ddr_pmu
514 struct cn10k_ddr_pmu *ddr_pmu = to_cn10k_ddr_pmu(pmu); in cn10k_ddr_perf_pmu_enable() local
516 writeq_relaxed(START_OP_CTRL_VAL_START, ddr_pmu->base + in cn10k_ddr_perf_pmu_enable()
522 struct cn10k_ddr_pmu *ddr_pmu = to_cn10k_ddr_pmu(pmu); in cn10k_ddr_perf_pmu_disable() local
524 writeq_relaxed(END_OP_CTRL_VAL_END, ddr_pmu->base + in cn10k_ddr_perf_pmu_disable()
634 struct cn10k_ddr_pmu *ddr_pmu; in cn10k_ddr_perf_probe() local
640 ddr_pmu = devm_kzalloc(&pdev->dev, sizeof(*ddr_pmu), GFP_KERNEL); in cn10k_ddr_perf_probe()
641 if (!ddr_pmu) in cn10k_ddr_perf_probe()
644 ddr_pmu->dev = &pdev->dev; in cn10k_ddr_perf_probe()
645 platform_set_drvdata(pdev, ddr_pmu); in cn10k_ddr_perf_probe()
651 ddr_pmu->base = base; in cn10k_ddr_perf_probe()
654 writeq_relaxed(OP_MODE_CTRL_VAL_MANNUAL, ddr_pmu->base + in cn10k_ddr_perf_probe()
657 ddr_pmu->pmu = (struct pmu) { in cn10k_ddr_perf_probe()
673 ddr_pmu->cpu = raw_smp_processor_id(); in cn10k_ddr_perf_probe()
675 name = devm_kasprintf(ddr_pmu->dev, GFP_KERNEL, "mrvl_ddr_pmu_%llx", in cn10k_ddr_perf_probe()
680 hrtimer_init(&ddr_pmu->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in cn10k_ddr_perf_probe()
681 ddr_pmu->hrtimer.function = cn10k_ddr_pmu_timer_handler; in cn10k_ddr_perf_probe()
685 &ddr_pmu->node); in cn10k_ddr_perf_probe()
687 ret = perf_pmu_register(&ddr_pmu->pmu, name, -1); in cn10k_ddr_perf_probe()
696 &ddr_pmu->node); in cn10k_ddr_perf_probe()
702 struct cn10k_ddr_pmu *ddr_pmu = platform_get_drvdata(pdev); in cn10k_ddr_perf_remove() local
706 &ddr_pmu->node); in cn10k_ddr_perf_remove()
708 perf_pmu_unregister(&ddr_pmu->pmu); in cn10k_ddr_perf_remove()