Lines Matching full:pm

164 arm64_allocate_pmc(int cpu, int ri, struct pmc *pm,  in arm64_allocate_pmc()  argument
216 pm->pm_md.pm_arm64.pm_arm64_evsel = config; in arm64_allocate_pmc()
225 arm64_read_pmc(int cpu, int ri, struct pmc *pm, pmc_value_t *v) in arm64_read_pmc() argument
245 pm->pm_pcpu_state[cpu].pps_overflowcnt++; in arm64_read_pmc()
250 tmp += 0x100000000llu * pm->pm_pcpu_state[cpu].pps_overflowcnt; in arm64_read_pmc()
254 if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) { in arm64_read_pmc()
271 arm64_write_pmc(int cpu, int ri, struct pmc *pm, pmc_value_t v) in arm64_write_pmc() argument
279 if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) in arm64_write_pmc()
284 pm->pm_pcpu_state[cpu].pps_overflowcnt = v >> 32; in arm64_write_pmc()
291 arm64_config_pmc(int cpu, int ri, struct pmc *pm) in arm64_config_pmc() argument
295 PMCDBG3(MDP, CFG, 1, "cpu=%d ri=%d pm=%p", cpu, ri, pm); in arm64_config_pmc()
304 KASSERT(pm == NULL || phw->phw_pmc == NULL, in arm64_config_pmc()
305 ("[arm64,%d] pm=%p phw->pm=%p hwpmc not unconfigured", in arm64_config_pmc()
306 __LINE__, pm, phw->phw_pmc)); in arm64_config_pmc()
308 phw->phw_pmc = pm; in arm64_config_pmc()
314 arm64_start_pmc(int cpu, int ri, struct pmc *pm) in arm64_start_pmc() argument
318 config = pm->pm_md.pm_arm64.pm_arm64_evsel; in arm64_start_pmc()
338 arm64_stop_pmc(int cpu, int ri, struct pmc *pm __unused) in arm64_stop_pmc()
370 struct pmc *pm; in arm64_intr() local
384 pm = arm64_pcpu[cpu]->pc_arm64pmcs[ri].phw_pmc; in arm64_intr()
385 if (pm == NULL) in arm64_intr()
398 pm->pm_pcpu_state[cpu].pps_overflowcnt += 1; in arm64_intr()
400 if (!PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) in arm64_intr()
403 if (pm->pm_state != PMC_STATE_RUNNING) in arm64_intr()
406 error = pmc_process_interrupt(PMC_HR, pm, tf); in arm64_intr()
408 arm64_stop_pmc(cpu, ri, pm); in arm64_intr()
411 arm64_write_pmc(cpu, ri, pm, pm->pm_sc.pm_reloadcount); in arm64_intr()