Lines Matching refs:rapl_pmus
115 struct rapl_pmus {
136 static struct rapl_pmus *rapl_pmus;
150 return dieid < rapl_pmus->maxdie ? rapl_pmus->pmus[dieid] : NULL;
336 if (event->attr.type != rapl_pmus->pmu.type)
581 pmu->pmu = &rapl_pmus->pmu;
585 rapl_pmus->pmus[topology_logical_die_id(cpu)] = pmu;
665 for (i = 0; i < rapl_pmus->maxdie; i++)
666 kfree(rapl_pmus->pmus[i]);
667 kfree(rapl_pmus);
684 size = sizeof(*rapl_pmus) + maxdie * sizeof(struct rapl_pmu *);
685 rapl_pmus = kzalloc(size, GFP_KERNEL);
686 if (!rapl_pmus)
689 rapl_pmus->maxdie = maxdie;
690 rapl_pmus->pmu.attr_groups = rapl_attr_groups;
691 rapl_pmus->pmu.attr_update = rapl_attr_update;
692 rapl_pmus->pmu.task_ctx_nr = perf_invalid_context;
693 rapl_pmus->pmu.event_init = rapl_pmu_event_init;
694 rapl_pmus->pmu.add = rapl_pmu_event_add;
695 rapl_pmus->pmu.del = rapl_pmu_event_del;
696 rapl_pmus->pmu.start = rapl_pmu_event_start;
697 rapl_pmus->pmu.stop = rapl_pmu_event_stop;
698 rapl_pmus->pmu.read = rapl_pmu_event_read;
699 rapl_pmus->pmu.module = THIS_MODULE;
700 rapl_pmus->pmu.capabilities = PERF_PMU_CAP_NO_EXCLUDE;
853 ret = perf_pmu_register(&rapl_pmus->pmu, "power", -1);
872 perf_pmu_unregister(&rapl_pmus->pmu);