Re: [PATCH v4 4/4] docs: hwmon: (smpro-hwmon) Add documentation

Guenter Roeck
2021-04-23T14:28:48Z

On Thu, Apr 22, 2021 at 04:08:43PM +0700, Quan Nguyen wrote:
> Add documentation for the Ampere(R)'s Altra(R) SMpro hwmon driver.
>
> Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
> Signed-off-by: Quan Nguyen <quan@os.amperecomputing.com>
> ---

For my reference:

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

Guenter

> Changes in v4:
> + None
>
> Changes in v3:
> + None
>
> Changes in v2:
> + Removed "virtual" sensors [Guenter]
> + Fixed typo "mili" to "milli", "nanoWatt" to "microWatt" [Guenter]
> + Reported SOC_TDP as "Socket TDP" using max attributes [Guenter]
> + Clarified "highest" meaning in documentation [Guenter]
> + Reported MEM HOT Threshold for all DIMMs as temp*_crit [Guenter]
> + Removed Socket TDP sensor [Quan]
> + Included sensor type and channel in labels [Quan]
>
> Documentation/hwmon/index.rst | 1 +
> Documentation/hwmon/smpro-hwmon.rst | 101 ++++++++++++++++++++++++++++
> 2 files changed, 102 insertions(+)
> create mode 100644 Documentation/hwmon/smpro-hwmon.rst
>
> diff --git a/Documentation/hwmon/index.rst b/Documentation/hwmon/index.rst
> index 48bfa7887dd4..3e3631b253b6 100644
> --- a/Documentation/hwmon/index.rst
> +++ b/Documentation/hwmon/index.rst
> @@ -166,6 +166,7 @@ Hardware Monitoring Kernel Drivers
> sis5595
> sl28cpld
> smm665
> + smpro-hwmon
> smsc47b397
> smsc47m192
> smsc47m1
> diff --git a/Documentation/hwmon/smpro-hwmon.rst b/Documentation/hwmon/smpro-hwmon.rst
> new file mode 100644
> index 000000000000..f978b1370e16
> --- /dev/null
> +++ b/Documentation/hwmon/smpro-hwmon.rst
> @@ -0,0 +1,101 @@
> +.. SPDX-License-Identifier: GPL-2.0-or-later
> +
> +Kernel driver Ampere(R)'s Altra(R) SMpro hwmon
> +==============================================
> +
> +Supported chips:
> +
> + * Ampere(R) Altra(R)
> +
> + Prefix: 'smpro'
> +
> + Reference: Altra SoC BMC Interface Specification
> +
> +Author: Thu Nguyen <thu@os.amperecomputing.com>
> +
> +Description
> +-----------
> +This driver supports hardware monitoring for Ampere(R) Altra(R) SoC's based on the
> +SMpro co-processor (SMpro).
> +The following sensor types are supported by the driver:
> +
> + * temperature
> + * voltage
> + * current
> + * power
> +
> +The SMpro interface provides the registers to query the various sensors and
> +their values which are then exported to userspace by this driver.
> +
> +Usage Notes
> +-----------
> +
> +SMpro hwmon driver creates at least two sysfs files for each sensor.
> +
> +* File ``<sensor_type><idx>_label`` reports the sensor label.
> +* File ``<sensor_type><idx>_input`` returns the sensor value.
> +
> +The sysfs files are allocated in the SMpro root fs folder.
> +There is one root folder for each SMpro instance.
> +
> +When the SoC is turned off, the driver will fail to read registers
> +and return -ENXIO.
> +
> +Sysfs entries
> +-------------
> +
> +The following sysfs files are supported:
> +
> +* Ampere(R) Altra(R):
> +
> +============ ============= ====== ===============================================
> +Name Unit Perm Description
> +temp1_input milli Celsius RO SoC temperature
> +temp2_input milli Celsius RO Max temperature reported among SoC VRDs
> +temp2_crit milli Celsius RO SoC VRD HOT Threshold temperature
> +temp3_input milli Celsius RO Max temperature reported among DIMM VRDs
> +temp4_input milli Celsius RO Max temperature reported among Core VRDs
> +temp5_input milli Celsius RO Temperature of DIMM0 on CH0
> +temp5_crit milli Celsius RO MEM HOT Threshold for all DIMMs
> +temp6_input milli Celsius RO Temperature of DIMM0 on CH1
> +temp6_crit milli Celsius RO MEM HOT Threshold for all DIMMs
> +temp7_input milli Celsius RO Temperature of DIMM0 on CH2
> +temp7_crit milli Celsius RO MEM HOT Threshold for all DIMMs
> +temp8_input milli Celsius RO Temperature of DIMM0 on CH3
> +temp8_crit milli Celsius RO MEM HOT Threshold for all DIMMs
> +temp9_input milli Celsius RO Temperature of DIMM0 on CH4
> +temp9_crit milli Celsius RO MEM HOT Threshold for all DIMMs
> +temp10_input milli Celsius RO Temperature of DIMM0 on CH5
> +temp10_crit milli Celsius RO MEM HOT Threshold for all DIMMs
> +temp11_input milli Celsius RO Temperature of DIMM0 on CH6
> +temp11_crit milli Celsius RO MEM HOT Threshold for all DIMMs
> +temp12_input milli Celsius RO Temperature of DIMM0 on CH7
> +temp12_crit milli Celsius RO MEM HOT Threshold for all DIMMs
> +temp13_input milli Celsius RO Max temperature reported among RCA VRDs
> +in0_input milli Volts RO Core voltage
> +in1_input milli Volts RO SoC voltage
> +in2_input milli Volts RO DIMM VRD1 voltage
> +in3_input milli Volts RO DIMM VRD2 voltage
> +in4_input milli Volts RO RCA VRD voltage
> +cur1_input milli Amperes RO Core VRD current
> +cur2_input milli Amperes RO SoC VRD current
> +cur3_input milli Amperes RO DIMM VRD1 current
> +cur4_input milli Amperes RO DIMM VRD2 current
> +cur5_input milli Amperes RO RCA VRD current
> +power1_input micro Watts RO Core VRD power
> +power2_input micro Watts RO SoC VRD power
> +power3_input micro Watts RO DIMM VRD1 power
> +power4_input micro Watts RO DIMM VRD2 power
> +power5_input micro Watts RO RCA VRD power
> +============ ============= ====== ===============================================
> +
> +Example::
> +
> + # cat in0_input
> + 830
> + # cat temp1_input
> + 37000
> + # cat curr1_input
> + 9000
> + # cat power5_input
> + 19500000