@@ -2436,6 +2436,8 @@ static void intel_pmu_disable_fixed(struct perf_event *event)
*/
if (*(u64 *)cpuc->active_mask & INTEL_PMC_OTHER_TOPDOWN_BITS(idx))
return;
+
+ intel_clear_masks(event, GLOBAL_CTRL_EN_PERF_METRICS);
idx = INTEL_PMC_IDX_FIXED_SLOTS;
}
@@ -2729,6 +2731,7 @@ static void intel_pmu_enable_fixed(struct perf_event *event)
if (*(u64 *)cpuc->active_mask & INTEL_PMC_OTHER_TOPDOWN_BITS(idx))
return;
+ intel_set_masks(event, GLOBAL_CTRL_EN_PERF_METRICS);
idx = INTEL_PMC_IDX_FIXED_SLOTS;
}