[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]
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
d1c281a87e
Коммит
8133e89e82
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Ссылка в новой задаче
Block a user