Lines Matching refs:pmc
76 static bool amd_hw_event_available(struct kvm_pmc *pmc) in amd_hw_event_available() argument
100 struct kvm_pmc *pmc; in amd_msr_idx_to_pmc() local
102 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_msr_idx_to_pmc()
103 pmc = pmc ? pmc : get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL); in amd_msr_idx_to_pmc()
105 return pmc; in amd_msr_idx_to_pmc()
134 struct kvm_pmc *pmc; in amd_pmu_get_msr() local
138 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_pmu_get_msr()
139 if (pmc) { in amd_pmu_get_msr()
140 msr_info->data = pmc_read_counter(pmc); in amd_pmu_get_msr()
144 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL); in amd_pmu_get_msr()
145 if (pmc) { in amd_pmu_get_msr()
146 msr_info->data = pmc->eventsel; in amd_pmu_get_msr()
156 struct kvm_pmc *pmc; in amd_pmu_set_msr() local
161 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_pmu_set_msr()
162 if (pmc) { in amd_pmu_set_msr()
163 pmc_write_counter(pmc, data); in amd_pmu_set_msr()
164 pmc_update_sample_period(pmc); in amd_pmu_set_msr()
168 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL); in amd_pmu_set_msr()
169 if (pmc) { in amd_pmu_set_msr()
171 if (data != pmc->eventsel) { in amd_pmu_set_msr()
172 pmc->eventsel = data; in amd_pmu_set_msr()
173 kvm_pmu_request_counter_reprogram(pmc); in amd_pmu_set_msr()
242 struct kvm_pmc *pmc = &pmu->gp_counters[i]; in amd_pmu_reset() local
244 pmc_stop_counter(pmc); in amd_pmu_reset()
245 pmc->counter = pmc->prev_counter = pmc->eventsel = 0; in amd_pmu_reset()