Re: [PATCH v3 1/2] hwmon: (pmbus) Add Delta AHE-50DC fan control module driver

From: Guenter Roeck
Date: Tue Dec 07 2021 - 19:54:18 EST


On 12/7/21 4:41 PM, Zev Weiss wrote:
On Tue, Dec 07, 2021 at 03:15:18PM PST, Guenter Roeck wrote:
On 12/7/21 1:53 PM, Zev Weiss wrote:
On Tue, Dec 07, 2021 at 11:44:01AM PST, Guenter Roeck wrote:
On 12/7/21 11:22 AM, Zev Weiss wrote:
On Tue, Dec 07, 2021 at 09:50:15AM PST, Guenter Roeck wrote:
On Mon, Dec 06, 2021 at 11:15:20PM -0800, Zev Weiss wrote:
This device is an integrated module of the Delta AHE-50DC Open19 power
shelf.  For lack of proper documentation, this driver has been developed
referencing an existing (GPL) driver that was included in a code release
from LinkedIn [1].  It provides four fan speeds, four temperatures, and
one voltage reading, as well as a handful of warning and fault
indicators.

[1] https://github.com/linkedin/o19-bmc-firmware/blob/master/meta-openbmc/meta-linkedin/meta-deltapower/recipes-kernel/fancontrol-mod/files/fancontrol.c


Hmm, that reference isn't really accurate anymore. I think it would be
better to just say that the device was found to be PMBus compliant.

Sure, will do.


Makes me wonder: How do you know that the referenced driver is for Delta AHE-50DC ?

We'd been waiting for the source code for the software it ships with for a while, and were finally provided with that repo; everything I've observed from the factory software is consistent with the code in that driver.  A sampling:


I assume you mean "Delta AHE-50DC" when you refer to "it".


Yes.

[ ... ]
Can you check this with real hardware, by any chance ?


If you mean running that code on it, yes -- here's the userspace utility that invokes that library routine:

    root@bmc-oob:~# fan-util.sh
    fan1 speed: 7860 RPM
    fan2 speed: 7860 RPM
    fan3 speed: 7620 RPM
    fan4 speed: 7560 RPM
    temperature1: 29.20 C
    temperature2: 27.80 C
    temperature3: 28.50 C
    temperature4: 30.20 C
    vin_undervolt_fault: no
    overtemperature_warning: no
    fan_fault: no
    fan_warning: no
    fan_status: ok


That doesn't really tell me anything in the context of the driver you submitted.
Would it be possible to install your driver and provide the output from the
"sensors" command ? It should match the information from the proprietary
driver/tool.


Thanks, in doing so I realized I'd neglected to prevent reads from unsupported registers in the read_word_data function, which was leading to the driver producing sysfs files for meaningless sensor limits that the device doesn't actually support.  With that fix (which I'll include in v4):


What a surprise. See drivers/hwmon/pmbus/dps920ab.c; that seems to be
a common theme for devices from Delta. I would suggest to add a similar
comment.

Guenter