Re: [RFC PATCH 3/6] dt-bindings: axi-fan-control: add tacho properties
From: Guenter Roeck <linux@roeck-us.net>
Date: 2021-07-22 15:23:50
Also in:
linux-hwmon
On 7/22/21 6:00 AM, Sa, Nuno wrote: [ ... ]
quoted
I don't really know what to say or recommend here. Personally I think any attempt to tie PWM values to RPM are doomed to fail. Here are a couple of examples: Take your test system and move the fan to a restricted place (eg close to a wall). You'll see the fan RPM change, potentially significantly. Put it into some place with airflow towards or away from the system (eg blow air into the system from another place, which may happen if the system is installed in a lab), and again you'll see fan speed changes. Open the chassis, and the fan speed will change. I have seen fan speeds vary by up to 50% when changing airflow.Here we can at least control the tolerance for each PWM vs RPM point but I can image this as a very painful process to get these values right and no one will think in setting tolerances of 50%...quoted
That doesn't even take into account that replacing a fan even with a similar model (eg after a fan failed) will likely result in potentially significant rpm changes. Ultimately, anything that does more than determine if a fan is still running is potentially unstable.Yeah, I understand your points. The HW does the evaluation and of course it also looks for the presence of a signal... So, in your opinion, not even setting a minimum fan speed is likely to be stable?
Using the minimum fan speed as detection mechanism for fan failures is ok and widely used. My concern is the desire to associate it with pwm values.
quoted
Having said all that, it is really your call to decide how you want to detect fan failures.Well, my hands are also tied here. The core is supposed to work without any SW interaction in which case the tacho evaluation is always done. The only thing I could do is to completely ignore fan faults which is also bad...
As I said above, it would be perfectly fine to have a parameter that reflects minimum fan speed (or, translated into chip speak, minimum number of pulses per minute).
I can try to persuade the HW guy to completely remove the evaluation and just give fan fauts in case there's no signal but I'm not really sure he will go for it. In that case, I'm tempted to just leave this as-is (with the extra bindings for the tolerance and turn these bindings into a map) if you're willing to take it... The reason is that, as you said, this is likely to be unstable any ways so that the added complexity in the SW does not really pay off (better keep at least the SW simple)...
Sure, I'll take it, as long as you find a binding that is acceptable for Rob. It is your funeral, after all :-). Thanks, Guenter