[PATCH linux dev-4.10 0/3] pmbus: Misc work-arounds for the PAGE command

Andrew Jeffery andrew at aj.id.au
Thu Oct 26 17:19:37 AEDT 2017


Hello,

Occasionally the MAX31785 NACKs setting the page on the device. The consequence
is the PMBus core either thinks some functionality is unsupported by the device
or it inspects features on the wrong page after swallowing the error.

The most obvious side-effect is that some hwmon attributes are not created when
they should be, often causing issues for fan monitoring and control in
userspace, preventing the host from booting.

The series introduces a one-shot retry in the PMBus core for the PAGE command.
This is generally terrible, but the alternatives seem worse. Also this is not
yet appropriate to upstream as I haven't succeeded in getting the MAX31785
driver applied there. As a result this dirty secret can live in the OpenBMC
tree until we properly understand the problem.

The first couple of patches help avoid setting PAGE to values that never make
sense. Again this involves a questionable change to the PMBus core, but I think
we can live with it.

Some brief testing of the series indicates that all one-shot attempts succeed
in the face of a previous failure, much like the FAN_CONFIG_* issues.

Let me know what you think!

Andrew Jeffery (3):
  hwmon: pmbus: core: Add virtual page config bit
  hwmon: pmbus: max31785: Mark virtual pages as virtual
  hwmon: pmbus: core: One-shot retries for failure to set page

 drivers/hwmon/pmbus/max31785.c   |  1 +
 drivers/hwmon/pmbus/pmbus.h      |  2 ++
 drivers/hwmon/pmbus/pmbus_core.c | 23 +++++++++++++++++++----
 3 files changed, 22 insertions(+), 4 deletions(-)

-- 
2.11.0



More information about the openbmc mailing list