@waveform I'm not sure if that is the final solution. With your build speed control works but the set hysteresis (default: 5°C) seems to be ignored. This results in very frequent changes around trip points.
Did you just fix the uninitialized variable or apply the whole commit (https://github.com/raspberrypi/linux/commit/29d2bdf66191b6e50deef2110792c43c10cccfd9)?
E.g. lots of changes between states 0 and 1, with the fan sometimes stopping for just a fraction of a second:
$ cat /sys/class/thermal/cooling_device0/stats/time_in_state_ms state0 6365509 state1 5434504 state2 0 state3 0 state4 0 $ cat /sys/class/thermal/cooling_device0/stats/total_trans 5371 $ while true ; do cat /sys/class/thermal/thermal_zone0/temp; cat /sys/class/thermal/cooling_device0/cur_state; sleep 1; done 49600 0 49600 1 49600 0 49600 0 50150 1 49050 0 49600 0 49600 1 49050 0 49600 0 49600 0 49600 0 48500 0 49600 0 48500 0 49050 0 49050 0 50150 1 49600 1 51250 0 49050 0 50700 0 50150 0 51250 0 50700 1 49600 1 50700 1 49600 1 49050 0 50700 0 50150 0 50150 1 51250 1 50150 1 50700 1 50150 0 50150 0 49050 0 50150 1 50150 1 49600 1 49600 1 49050 1 49050 0 49050 0
@waveform I'm not sure if that is the final solution. With your build speed control works but the set hysteresis (default: 5°C) seems to be ignored. This results in very frequent changes around trip points.
Did you just fix the uninitialized variable or apply the whole commit (https:/ /github. com/raspberrypi /linux/ commit/ 29d2bdf66191b6e 50deef2110792c4 3c10cccfd9)?
E.g. lots of changes between states 0 and 1, with the fan sometimes stopping for just a fraction of a second:
$ cat /sys/class/ thermal/ cooling_ device0/ stats/time_ in_state_ ms thermal/ cooling_ device0/ stats/total_ trans thermal/ thermal_ zone0/temp; cat /sys/class/ thermal/ cooling_ device0/ cur_state; sleep 1; done
state0 6365509
state1 5434504
state2 0
state3 0
state4 0
$ cat /sys/class/
5371
$ while true ; do cat /sys/class/
49600
0
49600
1
49600
0
49600
0
50150
1
49050
0
49600
0
49600
1
49050
0
49600
0
49600
0
49600
0
48500
0
49600
0
48500
0
49050
0
49050
0
50150
1
49600
1
51250
0
49050
0
50700
0
50150
0
51250
0
50700
1
49600
1
50700
1
49600
1
49050
0
50700
0
50150
0
50150
1
51250
1
50150
1
50700
1
50150
0
50150
0
49050
0
50150
1
50150
1
49600
1
49600
1
49050
1
49050
0
49050
0