• Z
    ACPI: register ACPI Processor as generic thermal cooling device · d9460fd2
    Zhang Rui 提交于
    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: NZhang Rui <rui.zhang@intel.com>
    Signed-off-by: NZhao Yakui <yakui.zhao@intel.com>
    Signed-off-by: NThomas Sujith <sujith.thomas@intel.com>
    Signed-off-by: NLen Brown <len.brown@intel.com>
    d9460fd2
processor_thermal.c 11.9 KB