|
@@ -895,8 +895,8 @@ static void p4_pmu_disable_pebs(void)
|
|
|
* So at moment let leave metrics turned on forever -- it's
|
|
|
* ok for now but need to be revisited!
|
|
|
*
|
|
|
- * (void)checking_wrmsrl(MSR_IA32_PEBS_ENABLE, (u64)0);
|
|
|
- * (void)checking_wrmsrl(MSR_P4_PEBS_MATRIX_VERT, (u64)0);
|
|
|
+ * (void)wrmsrl_safe(MSR_IA32_PEBS_ENABLE, (u64)0);
|
|
|
+ * (void)wrmsrl_safe(MSR_P4_PEBS_MATRIX_VERT, (u64)0);
|
|
|
*/
|
|
|
}
|
|
|
|
|
@@ -909,7 +909,7 @@ static inline void p4_pmu_disable_event(struct perf_event *event)
|
|
|
* state we need to clear P4_CCCR_OVF, otherwise interrupt get
|
|
|
* asserted again and again
|
|
|
*/
|
|
|
- (void)checking_wrmsrl(hwc->config_base,
|
|
|
+ (void)wrmsrl_safe(hwc->config_base,
|
|
|
(u64)(p4_config_unpack_cccr(hwc->config)) &
|
|
|
~P4_CCCR_ENABLE & ~P4_CCCR_OVF & ~P4_CCCR_RESERVED);
|
|
|
}
|
|
@@ -943,8 +943,8 @@ static void p4_pmu_enable_pebs(u64 config)
|
|
|
|
|
|
bind = &p4_pebs_bind_map[idx];
|
|
|
|
|
|
- (void)checking_wrmsrl(MSR_IA32_PEBS_ENABLE, (u64)bind->metric_pebs);
|
|
|
- (void)checking_wrmsrl(MSR_P4_PEBS_MATRIX_VERT, (u64)bind->metric_vert);
|
|
|
+ (void)wrmsrl_safe(MSR_IA32_PEBS_ENABLE, (u64)bind->metric_pebs);
|
|
|
+ (void)wrmsrl_safe(MSR_P4_PEBS_MATRIX_VERT, (u64)bind->metric_vert);
|
|
|
}
|
|
|
|
|
|
static void p4_pmu_enable_event(struct perf_event *event)
|
|
@@ -978,8 +978,8 @@ static void p4_pmu_enable_event(struct perf_event *event)
|
|
|
*/
|
|
|
p4_pmu_enable_pebs(hwc->config);
|
|
|
|
|
|
- (void)checking_wrmsrl(escr_addr, escr_conf);
|
|
|
- (void)checking_wrmsrl(hwc->config_base,
|
|
|
+ (void)wrmsrl_safe(escr_addr, escr_conf);
|
|
|
+ (void)wrmsrl_safe(hwc->config_base,
|
|
|
(cccr & ~P4_CCCR_RESERVED) | P4_CCCR_ENABLE);
|
|
|
}
|
|
|
|