Lines Matching defs:pm

222 iaf_allocate_pmc(int cpu, int ri, struct pmc *pm,
233 PMCDBG2(MDP,ALL,1, "iaf-allocate ri=%d reqcaps=0x%x", ri, pm->pm_caps);
303 pm->pm_md.pm_iaf.pm_iaf_ctrl = (flags << (ri * 4));
306 (uintmax_t) pm->pm_md.pm_iaf.pm_iaf_ctrl);
312 iaf_config_pmc(int cpu, int ri, struct pmc *pm)
320 PMCDBG3(MDP,CFG,1, "iaf-config cpu=%d ri=%d pm=%p", cpu, ri, pm);
325 core_pcpu[cpu]->pc_corepmcs[ri + core_iaf_ri].phw_pmc = pm;
371 iaf_read_pmc(int cpu, int ri, struct pmc *pm, pmc_value_t *v)
382 if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm)))
396 PMCDBG3(MDP,REL,1, "iaf-release cpu=%d ri=%d pm=%p", cpu, ri, pmc);
417 iaf_start_pmc(int cpu, int ri, struct pmc *pm)
429 cc->pc_iafctrl |= pm->pm_md.pm_iaf.pm_iaf_ctrl;
443 iaf_stop_pmc(int cpu, int ri, struct pmc *pm)
469 iaf_write_pmc(int cpu, int ri, struct pmc *pm, pmc_value_t v)
480 if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm)))
712 iap_allocate_pmc(int cpu, int ri, struct pmc *pm,
773 pm->pm_md.pm_iap.pm_iap_evsel = iap->pm_iap_config;
778 iap_config_pmc(int cpu, int ri, struct pmc *pm)
786 PMCDBG3(MDP,CFG,1, "iap-config cpu=%d ri=%d pm=%p", cpu, ri, pm);
791 core_pcpu[cpu]->pc_corepmcs[ri].phw_pmc = pm;
837 iap_read_pmc(int cpu, int ri, struct pmc *pm, pmc_value_t *v)
847 if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm)))
859 iap_release_pmc(int cpu, int ri, struct pmc *pm)
861 (void) pm;
863 PMCDBG3(MDP,REL,1, "iap-release cpu=%d ri=%d pm=%p", cpu, ri,
864 pm);
878 iap_start_pmc(int cpu, int ri, struct pmc *pm)
892 evsel = pm->pm_md.pm_iap.pm_iap_evsel;
901 wrmsr(IA_OFFCORE_RSP0, pm->pm_md.pm_iap.pm_iap_rsp);
904 wrmsr(IA_OFFCORE_RSP1, pm->pm_md.pm_iap.pm_iap_rsp);
921 iap_stop_pmc(int cpu, int ri, struct pmc *pm __unused)
939 iap_write_pmc(int cpu, int ri, struct pmc *pm, pmc_value_t v)
947 if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm)))
1006 struct pmc *pm;
1018 if ((pm = cc->pc_corepmcs[ri].phw_pmc) == NULL ||
1019 !PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm)))
1027 if (pm->pm_state != PMC_STATE_RUNNING)
1030 error = pmc_process_interrupt(PMC_HR, pm, tf);
1032 v = pm->pm_sc.pm_reloadcount;
1039 wrmsr(IAP_EVSEL0 + ri, pm->pm_md.pm_iap.pm_iap_evsel);
1045 wrmsr(IAP_EVSEL0 + ri, pm->pm_md.pm_iap.pm_iap_evsel | IAP_EN);
1064 struct pmc *pm;
1102 pm = cc->pc_corepmcs[n + core_iaf_ri].phw_pmc;
1103 if (pm == NULL || pm->pm_state != PMC_STATE_RUNNING ||
1104 !PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm)))
1107 error = pmc_process_interrupt(PMC_HR, pm, tf);
1111 v = iaf_reload_count_to_perfctr_value(pm->pm_sc.pm_reloadcount);
1129 pm = cc->pc_corepmcs[n].phw_pmc;
1130 if (pm == NULL || pm->pm_state != PMC_STATE_RUNNING ||
1131 !PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm)))
1134 error = pmc_process_interrupt(PMC_HR, pm, tf);
1138 v = iap_reload_count_to_perfctr_value(pm->pm_sc.pm_reloadcount);