[SWDEV-539845] Add support for board voltage (#92)

* Add the API and CLI to show the board voltage.

---------

Signed-off-by: Arif, Maisam <Maisam.Arif@amd.com>
Signed-off-by: Juan Castillo <juan.castillo@amd.com>
Co-authored-by: Liu, Shuzhou (Bill) <Shuzhou.Liu@amd.com>

[ROCm/rocm_smi_lib commit: bab82d98b7]
Этот коммит содержится в:
Castillo, Juan
2025-07-03 01:58:50 -05:00
коммит произвёл GitHub
родитель d1c281a87e
Коммит 8133e89e82
3 изменённых файлов: 14 добавлений и 5 удалений
+4 -3
Просмотреть файл
@@ -522,9 +522,10 @@ typedef enum {
typedef enum {
RSMI_VOLT_TYPE_FIRST = 0,
RSMI_VOLT_TYPE_VDDGFX = RSMI_VOLT_TYPE_FIRST, //!< Vddgfx GPU
//!< voltage
RSMI_VOLT_TYPE_LAST = RSMI_VOLT_TYPE_VDDGFX,
RSMI_VOLT_TYPE_VDDGFX = RSMI_VOLT_TYPE_FIRST, //!< Vddgfx GPU voltage
RSMI_VOLT_TYPE_VDDBOARD, //!< Voltage for VDDBOARD
RSMI_VOLT_TYPE_LAST = RSMI_VOLT_TYPE_VDDBOARD,
RSMI_VOLT_TYPE_INVALID = 0xFFFFFFFF //!< Invalid type
} rsmi_voltage_type_t;
+9 -2
Просмотреть файл
@@ -109,7 +109,7 @@ static const char *kTempSensorTypeJunctionName = "junction";
static const char *kTempSensorTypeEdgeName = "edge";
static const char *kTempSensorTypeVddgfxName = "vddgfx";
static const char *kTempSensorTypeVddboardName = "vddboard";
static const std::map<std::string, rsmi_temperature_type_t>
kTempSensorNameMap = {
@@ -121,6 +121,7 @@ static const std::map<std::string, rsmi_temperature_type_t>
static const std::map<std::string, rsmi_voltage_type_t>
kVoltSensorNameMap = {
{kTempSensorTypeVddgfxName, RSMI_VOLT_TYPE_VDDGFX},
{kTempSensorTypeVddboardName, RSMI_VOLT_TYPE_VDDBOARD},
};
static const std::map<MonitorTypes, const char *> kMonitorNameMap = {
@@ -399,7 +400,13 @@ Monitor::setVoltSensorLabelMap(void) {
};
for (uint32_t i = 0; i < RSMI_VOLT_TYPE_LAST + 1; ++i) {
ret = add_volt_sensor_entry(i);
// VDDGFX -> 0, VDDNB -> 1, VDDBOARD -> 2
// Here the VDDNB will be skipped as it is not defined in the enum and not supported by AMD.
auto file_index = i;
if (i >= RSMI_VOLT_TYPE_VDDBOARD) {
file_index = i + 1;
}
ret = add_volt_sensor_entry(file_index);
if (ret) {
return ret;
}
+1
Просмотреть файл
@@ -142,6 +142,7 @@ static const char* short_options = "i:v:m:fr";
static const std::map<uint32_t, std::string> kVoltSensorNameMap = {
{RSMI_VOLT_TYPE_VDDGFX, "Vddgfx"},
{RSMI_VOLT_TYPE_VDDBOARD, "Vddboard"},
};
static void PrintHelp(void) {