|
@@ -323,17 +323,6 @@ device_initcall(thermal_throttle_init_device);
|
|
|
|
|
|
#endif /* CONFIG_SYSFS */
|
|
|
|
|
|
-/*
|
|
|
- * Set up the most two significant bit to notify mce log that this thermal
|
|
|
- * event type.
|
|
|
- * This is a temp solution. May be changed in the future with mce log
|
|
|
- * infrasture.
|
|
|
- */
|
|
|
-#define CORE_THROTTLED (0)
|
|
|
-#define CORE_POWER_LIMIT ((__u64)1 << 62)
|
|
|
-#define PACKAGE_THROTTLED ((__u64)2 << 62)
|
|
|
-#define PACKAGE_POWER_LIMIT ((__u64)3 << 62)
|
|
|
-
|
|
|
static void notify_thresholds(__u64 msr_val)
|
|
|
{
|
|
|
/* check whether the interrupt handler is defined;
|
|
@@ -363,27 +352,23 @@ static void intel_thermal_interrupt(void)
|
|
|
if (therm_throt_process(msr_val & THERM_STATUS_PROCHOT,
|
|
|
THERMAL_THROTTLING_EVENT,
|
|
|
CORE_LEVEL) != 0)
|
|
|
- mce_log_therm_throt_event(CORE_THROTTLED | msr_val);
|
|
|
+ mce_log_therm_throt_event(msr_val);
|
|
|
|
|
|
if (this_cpu_has(X86_FEATURE_PLN))
|
|
|
- if (therm_throt_process(msr_val & THERM_STATUS_POWER_LIMIT,
|
|
|
+ therm_throt_process(msr_val & THERM_STATUS_POWER_LIMIT,
|
|
|
POWER_LIMIT_EVENT,
|
|
|
- CORE_LEVEL) != 0)
|
|
|
- mce_log_therm_throt_event(CORE_POWER_LIMIT | msr_val);
|
|
|
+ CORE_LEVEL);
|
|
|
|
|
|
if (this_cpu_has(X86_FEATURE_PTS)) {
|
|
|
rdmsrl(MSR_IA32_PACKAGE_THERM_STATUS, msr_val);
|
|
|
- if (therm_throt_process(msr_val & PACKAGE_THERM_STATUS_PROCHOT,
|
|
|
+ therm_throt_process(msr_val & PACKAGE_THERM_STATUS_PROCHOT,
|
|
|
THERMAL_THROTTLING_EVENT,
|
|
|
- PACKAGE_LEVEL) != 0)
|
|
|
- mce_log_therm_throt_event(PACKAGE_THROTTLED | msr_val);
|
|
|
+ PACKAGE_LEVEL);
|
|
|
if (this_cpu_has(X86_FEATURE_PLN))
|
|
|
- if (therm_throt_process(msr_val &
|
|
|
+ therm_throt_process(msr_val &
|
|
|
PACKAGE_THERM_STATUS_POWER_LIMIT,
|
|
|
POWER_LIMIT_EVENT,
|
|
|
- PACKAGE_LEVEL) != 0)
|
|
|
- mce_log_therm_throt_event(PACKAGE_POWER_LIMIT
|
|
|
- | msr_val);
|
|
|
+ PACKAGE_LEVEL);
|
|
|
}
|
|
|
}
|
|
|
|