Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No working hysteresis support in gov_step_wise.c => fan switching on/off very frequently. #5726

Open
jkreileder opened this issue Nov 20, 2023 · 1 comment

Comments

@jkreileder
Copy link
Contributor

jkreileder commented Nov 20, 2023

Describe the bug

gov_step_wise.c has hysteresis code but this actually does nothing as ops->get_trip_hyst is an optional operation and there's no implementation of it.
On the pi5 hyst is set to 5000 for all trip points but because of the missing get_trip_hyst, it's basically always 0 in gov_step_wise.c.

The result are very frequent switches around trip temperatures. E.g. on my pi5 I see more than 1000 on/off switches around 50 degrees in 1 hour. Sometimes the fan only stops for a fraction of a second before spinning up again. Not sure if that is good for the fan in the long term.

Note that Linux 6.7 removes the get_trip_hyst operation altogether: torvalds/linux@35d8dbb
Apparently the hyst values should be read directly from the tables.

Steps to reproduce the behaviour

On a PI 5:

echo 'file gov_step_wise.c +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
dmesg

=> temp and hyst (which is/should be "temp - configured hyst" value here) are always the same.

Device (s)

Other

System

Ubuntu 23.10
Linux pi5 6.5.0-1006-raspi #9~fanfix1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 15 15:03:29 UTC 20 aarch64 aarch64 aarch64 GNU/Linux

Logs

No response

Additional context

No response

@pelwell
Copy link
Contributor

pelwell commented Nov 20, 2023

This is clearly a problem that will need to be resolved before we move to 6.6 - the next LTS kernel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants