Log pattern
limit CPU frequency (QCT projects): If cpu’s temperature is over 60 degree, KTM thermal driver will start to limit cpu frequence.
// QCT: in this case, cpu0 temperature reaches 80℃, the max frequency has been constrained to 960000Hz
@device_log
I ThermalEngine: TM Id ‘CPU0_MONITOR’ Sensor ‘cpu0’ - alarm raised 4 at 80.0 degC
I ThermalEngine: ACTION: CPU - Setting CPU[0] to 960000
…
I PnPMgr : Write ‘/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq’ = ‘960000’
limit CPU core (QCT projects): If cpu’s temperature is over 80 degree, KTM thermal drive will start to off line CPU core number.
// QCT: in this case, CPU 2/3 be disabled due to temperature reach threshold 96℃
@kernel log
<6>[12426.253624] c0 20646 msm_thermal: tsens_tz_sensor1 reach temp threshold: 96
<6>[12426.253672] c0 20646 msm_thermal: tsens_tz_sensor1 reach temp threshold: 96
<6>[12426.259053] c2 0 CPU2: msm_pm_power_collapse: change clock rate (old rate = 0)
<6>[12426.264927] c3 0 CPU3: msm_pm_power_collapse: change clock rate (old rate = 0)
<4>[12426.272855] c0 1732 _cpu_up: attempt to bring up CPU 3 failed
<4>[12426.274905] c0 1732 _cpu_up: attempt to bring up CPU 2 failed
limit CPU frequency / core (MTK projects)
- idx: the index of the thermal table
- limited_max_ncpu: limit CPU core
- limited_max_freq: limit CPU frequency (Hz)
// MTK: in this case, limit CPU core is 3, and frequency is 1183000Hz
@kernel log
<5>[229823.673401] (0)[1498:kworker/0:1][Power/cpufreq] _thermal_limited_verify(): idx = 43, limited_max_ncpu = 3, limited_max_freq = 1183000
current Temperature (MTK projects)
// cpu temperature is 47.3 degC. (if CPU temp. is over 59/60 degC will be treat as over hot)
// ap (pcb) temperature is 36 degC. (if pcb temp. is over 44 degC will be treat as over hot)
@kernel log
03-22 00:55:44 <6>[76338.649280] [32129:kworker/0:2][K][THERMAL] Sensor 0 ( cpu) = 47300
03-22 00:55:44 <6>[76338.649307][32129:kworker/0:2][K][THERMAL] Sensor 1 ( abb) = 40300
03-22 00:55:44 <6>[76338.649334] [32129:kworker/0:2][K][THERMAL] Sensor 2 ( pmic) = 44790
03-22 00:55:44 <6>[76338.649360][32129:kworker/0:2][K][THERMAL] Sensor 3 ( batt) =36000
03-22 00:55:44 <6>[76338.649386] [32129:kworker/0:2][K][THERMAL] Sensor 4 (md1) = 44000
03-22 00:55:44 <6>[76338.649413] [32129:kworker/0:2][K][THERMAL] Sensor 6 ( wifi) = 44000
03-22 00:55:44 <6>[76338.649439] [32129:kworker/0:2][K][THERMAL] Sensor 8 ( buck) = 43790
03-22 00:55:44 <6>[76338.649464] [32129:kworker/0:2][K][THERMAL] Sensor 9 ( ap) = 36000
current CPU frequency / core (MTK projects)
// CPU freq. : the max cpufreq. is 1326000 KHz in this case
03-22 00:57:49 <6>[76463.841392] (2)[56:cfinteractive][Power/cpufreq] @_cpufreq_set_locked(): Vproc = 940mv, Vsram = 1031mv, freq = 1326000 KHz
03-22 00:57:49 <6>[76463.900591] (2)[56:cfinteractive][Power/cpufreq] @_cpufreq_set_locked(): Vproc = 970mv, Vsram = 1062mv, freq = 1469000 KHz
03-22 00:57:49 <6>[76463.920676] (2)[56:cfinteractive][Power/cpufreq] @_cpufreq_set_locked(): Vproc = 900mv, Vsram = 1000mv, freq = 1183000 KHz
// CPU core : there are 8 cores in this case
03-22 00:57:54 <6>[76469.004028] (0)[32129:kworker/0:2][K