return is_fixed_event_allowed(filter, pmc->idx);
}
-static bool pmc_event_is_allowed(struct kvm_pmc *pmc)
-{
- return pmc_is_globally_enabled(pmc) && pmc_is_locally_enabled(pmc) &&
- check_pmu_event_filter(pmc);
-}
-
static int reprogram_counter(struct kvm_pmc *pmc)
{
struct kvm_pmu *pmu = pmc_to_pmu(pmc);
emulate_overflow = pmc_pause_counter(pmc);
- if (!pmc_event_is_allowed(pmc))
+ if (!pmc_is_globally_enabled(pmc) || !pmc_is_locally_enabled(pmc) ||
+ !check_pmu_event_filter(pmc))
return 0;
if (emulate_overflow)
return;
kvm_for_each_pmc(pmu, pmc, i, bitmap) {
- if (!pmc_event_is_allowed(pmc) || !cpl_is_matched(pmc))
+ if (!pmc_is_globally_enabled(pmc) || !pmc_is_locally_enabled(pmc) ||
+ !check_pmu_event_filter(pmc) || !cpl_is_matched(pmc))
continue;
kvm_pmu_incr_counter(pmc);