[PATCH linux dev-5.8 0/3] MAX31785 Fan Controller Work-arounds

Andrew Jeffery andrew at aj.id.au
Thu Aug 27 23:29:59 AEST 2020


This series works around reliability problems with the MAX31785 fan controller
as observed in the field on some POWER systems.

I'm the first to admit the patches are not elegant, so feedback there is

Separately, our previous workarounds have run aground upstream as the hwmon
maintainer was unable to reproduce our observations on the MAX31785 evaluation
kit. I've recently received an evaluation kit, so I plan on putting some of
these issues to the test myself. Ultimately this will help determine whether we
have issues with our fan card designs or whether the controller itself is at
fault (I have to admit, given some of the failures, it's hard to see how the
controller might not be at fault). Basically, this paragraph is my excuse for
not pushing these patches further upstream for the moment; I will re-evaluate
once I have the results from testing against the evkit.

In the mean time, these patches resolve issues we've seen in some system
deployments. Taken together, I've put the driver through an unbind/bind loop
of over 20,000 iterations with no "loss" of fans, where prior to the series we
typically achieved only a few hundred. This feels like a significant
improvement, so please consider merging despite their ugliness.



Andrew Jeffery (3):
  pmbus: (max31785) Retry enabling fans after writing MFR_FAN_CONFIG
  pmbus: (max31785) Add a local pmbus_set_page() implementation
  pmbus: (core) Add a one-shot retry in pmbus_set_page()

 drivers/hwmon/pmbus/max31785.c   | 55 ++++++++++++++++++++++++++------
 drivers/hwmon/pmbus/pmbus_core.c | 33 ++++++++++++-------
 2 files changed, 66 insertions(+), 22 deletions(-)


More information about the openbmc mailing list