mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 01:50:54 +07:00
d9460fd227
Register ACPI processor as thermal cooling devices. A combination of processor T-state and P-state are used for thermal throttling. the processor will reduce the frequency first and then set the T-state. we use cpufreq_thermal_reduction_pctg to calculate the cpufreq limit, and call cpufreq_verify_with_limit to set the cpufreq limit. if cpufreq driver is loaded, then we have four cooling state for cpufreq control. cooling state 0: cpufreq limit == max_freq cooling state 1: cpufreq limit == max_freq * 80% cooling state 2: cpufreq limit == max_freq * 60% cooling state 3: cpufreq limit == max_freq * 40% after the cpufreq limit is set to 40 percentage of the max_freq, we use T-state for cooling. eg. a processor has P-state support, and it has 8 T-state (T0-T7), the max_state of the proceesor is 10: state cpufreq-limit T-state 0: max_freq T0 1: max_freq * 80% T0 2: max_freq * 60% T0 3: max_freq * 40% T0 4: max_freq * 40% T1 5: max_freq * 40% T2 6: max_freq * 40% T3 7: max_freq * 40% T4 8: max_freq * 40% T5 9: max_freq * 40% T6 10: max_freq * 40% T7 Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Signed-off-by: Thomas Sujith <sujith.thomas@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> |
||
---|---|---|
.. | ||
platform | ||
acconfig.h | ||
acdebug.h | ||
acdisasm.h | ||
acdispat.h | ||
acevents.h | ||
acexcep.h | ||
acglobal.h | ||
achware.h | ||
acinterp.h | ||
aclocal.h | ||
acmacros.h | ||
acnames.h | ||
acnamesp.h | ||
acobject.h | ||
acopcode.h | ||
acoutput.h | ||
acparser.h | ||
acpi_bus.h | ||
acpi_drivers.h | ||
acpi_numa.h | ||
acpi.h | ||
acpiosxf.h | ||
acpixf.h | ||
acresrc.h | ||
acstruct.h | ||
actables.h | ||
actbl1.h | ||
actbl.h | ||
actypes.h | ||
acutils.h | ||
amlcode.h | ||
amlresrc.h | ||
container.h | ||
pdc_intel.h | ||
processor.h | ||
reboot.h |