Add socsesor daemon to handle Ampere SoC sensors in dbus-sensors.

Ed Tanous edtanous at google.com
Fri Jul 23 02:15:04 AEST 2021


On Thu, Jul 22, 2021 at 8:56 AM Thu Nguyen
<thu at amperemail.onmicrosoft.com> wrote:
>
> Dear Ed Tanous,
>
>
> As we discussed before about the Ampere CPU daemon in OpenBmc general discord channel. I'm planing to submit the some patches which will add to AmpereSoC daemon source code to dbus-sensors for reviewing. This daemon will handle Ampere Altra SoC sensors. The functions of this daemon are the same as CPUSensor daemon which is handling Xeon CPU sensors.
>
> Below is what I will add.
>
>     1. Add some files to to Dbus-sensors source:
>
>         ./src/AmpereSoCMain.cpp : Match the sensors configurations in entity-manager configuration file with sensor paths in the device driver. And create the SoC sensor dbus objects.

At this same time, we should rename "CPU sensor" to "Intel CPU" so we
can easily differentiate.  Ideally your new daemon would also be
called "AmpereCPU" to keep the naming conventions the same.

>
>         ./src/AmpereSoC.cpp : Create the sensor handler and update sensor values to the sensors dbus objects.
>
>         ./include/AmpereSoC.hpp : Declare functions and constants.
>
>         The structure and the functions of the files are similar the files which create ADCSensor daemon or PSUSensors daemon...
>
>     2. Add AmpereSoC daemon which will be named as "xyz.openbmc_project.socsensor.service".
>
>         Below is dbus-sensors daemons in our system:

This list seems disconnected from AmpereSOC.  Was there something you
were looking for input on there?

>
>
>
>     3. Add dbus interface to public sensor dbus objects. The name of this interface is "xyz.openbmc_project.SoCSensor".
>
>         Below is some sensors in this dbus interface.

Neat.

>
>
>
>     4. The causes of this adding are:
>         + The Ampere SoCs and their interfaces are quite complicated to use the current daemons.

Considering that ampere CPUs support their own disparate OOB
interface, I suspect it's ideal that they would be separated out into
their own daemon.

>         + We can't use CPUSensor daemon which is specific for Intel Xeon. We use I2C interface to access the SoC sensors which Intel Xeon using PCIE.

This is fine, and what I would've expected.  CPU sensor is fairly
specific to PECI today.

>         + Our SoC hwmon drivers are different with the other hwmon drivers in linux kernel. We are using one MDF driver name ac01-smpro, it have three sub drivers ac01-hwmon which report the temperature, the consumed power, current and voltage of components in SOC.
>         + In the near future, We append AmpereSoC daemon to monitor SoC RAS and SoC events as you suggested.
>
>     Please let me know if you have any comments about this plan.


I'm looking forward to the patches.  I don't see any concerns, as
everything above looks like you're following the existing interfaces.

>
>
> Thanks.
>
> Thu.
>
>
>
> CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and contains information that is confidential and proprietary to Ampere Computing or its subsidiaries. It is to be used solely for the purpose of furthering the parties' business relationship. Any unauthorized review, copying, or distribution of this email (or any attachments thereto) is strictly prohibited. If you are not the intended recipient, please contact the sender immediately and permanently delete the original and any copies of this email and any attachments thereto.


More information about the openbmc mailing list