SWDEV-426130 - Updated firmware subcommand output
Corrected truncation
corrected xgmi to ta_xgmi
remapped smc(system management controller) to pm(power
management)
Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I404cefa7b90a454d4f4b08f6490448b47cf32107
[ROCm/amdsmi commit: 545e57d3e3]
Bu işleme şunda yer alıyor:
işlemeyi yapan:
Maisam Arif
ebeveyn
643042695d
işleme
37a41c3bc8
@@ -625,7 +625,7 @@ class AMDSMICommands():
|
||||
|
||||
for fw_index, fw_entry in enumerate(fw_info['fw_list']):
|
||||
# Change fw_name to fw_id
|
||||
fw_entry['fw_id'] = fw_entry.pop('fw_name').name.strip('FW_ID_')
|
||||
fw_entry['fw_id'] = fw_entry.pop('fw_name').name.replace("FW_ID_", "")
|
||||
fw_entry['fw_version'] = fw_entry.pop('fw_version') # popping to ensure order
|
||||
|
||||
# Add custom human readable formatting
|
||||
|
||||
@@ -191,8 +191,8 @@ void getFWNameFromId(int id, char *name)
|
||||
case FW_ID_TA_RAS:
|
||||
strcpy(name, "ID_TA_RAS");
|
||||
break;
|
||||
case FW_ID_XGMI:
|
||||
strcpy(name, "ID_XGMI");
|
||||
case FW_ID_TA_XGMI:
|
||||
strcpy(name, "ID_TA_XGMI");
|
||||
break;
|
||||
case FW_ID_RLC_SRLG:
|
||||
strcpy(name, "ID_RLC_SRLG");
|
||||
@@ -200,8 +200,8 @@ void getFWNameFromId(int id, char *name)
|
||||
case FW_ID_RLC_SRLS:
|
||||
strcpy(name, "ID_RLC_SRLS");
|
||||
break;
|
||||
case FW_ID_SMC:
|
||||
strcpy(name, "ID_SMC");
|
||||
case FW_ID_PM:
|
||||
strcpy(name, "ID_PM");
|
||||
break;
|
||||
case FW_ID_DMCU:
|
||||
strcpy(name, "ID_DMCU");
|
||||
|
||||
@@ -186,8 +186,8 @@ int main() {
|
||||
printf("\tSMU: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_SMU]
|
||||
.fw_version);
|
||||
printf("\tSMC: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_SMC]
|
||||
printf("\tPM: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_PM]
|
||||
.fw_version);
|
||||
printf("\tVCN: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_VCN]
|
||||
|
||||
@@ -357,10 +357,10 @@ typedef enum {
|
||||
FW_ID_RLC_SAVE_RESTORE_LIST,
|
||||
FW_ID_ASD,
|
||||
FW_ID_TA_RAS,
|
||||
FW_ID_XGMI,
|
||||
FW_ID_TA_XGMI,
|
||||
FW_ID_RLC_SRLG,
|
||||
FW_ID_RLC_SRLS,
|
||||
FW_ID_SMC,
|
||||
FW_ID_PM,
|
||||
FW_ID_DMCU,
|
||||
FW_ID__MAX
|
||||
} amdsmi_fw_block_t;
|
||||
|
||||
@@ -130,10 +130,10 @@ class AmdSmiFwBlock(IntEnum):
|
||||
FW_ID_RLC_SAVE_RESTORE_LIST = amdsmi_wrapper.FW_ID_RLC_SAVE_RESTORE_LIST
|
||||
FW_ID_ASD = amdsmi_wrapper.FW_ID_ASD
|
||||
FW_ID_TA_RAS = amdsmi_wrapper.FW_ID_TA_RAS
|
||||
FW_ID_XGMI = amdsmi_wrapper.FW_ID_XGMI
|
||||
FW_ID_TA_XGMI = amdsmi_wrapper.FW_ID_TA_XGMI
|
||||
FW_ID_RLC_SRLG = amdsmi_wrapper.FW_ID_RLC_SRLG
|
||||
FW_ID_RLC_SRLS = amdsmi_wrapper.FW_ID_RLC_SRLS
|
||||
FW_ID_SMC = amdsmi_wrapper.FW_ID_SMC
|
||||
FW_ID_PM = amdsmi_wrapper.FW_ID_PM
|
||||
FW_ID_DMCU = amdsmi_wrapper.FW_ID_DMCU
|
||||
|
||||
|
||||
@@ -1667,14 +1667,15 @@ def amdsmi_get_fw_info(
|
||||
_check_res(amdsmi_wrapper.amdsmi_get_fw_info(
|
||||
processor_handle, ctypes.byref(fw_info)))
|
||||
|
||||
hex_format_fw = [AmdSmiFwBlock.FW_ID_SMC,
|
||||
AmdSmiFwBlock.FW_ID_PSP_SOSDRV,
|
||||
hex_format_fw = [AmdSmiFwBlock.FW_ID_PSP_SOSDRV,
|
||||
AmdSmiFwBlock.FW_ID_TA_RAS,
|
||||
AmdSmiFwBlock.FW_ID_XGMI,
|
||||
AmdSmiFwBlock.FW_ID_TA_XGMI,
|
||||
AmdSmiFwBlock.FW_ID_UVD,
|
||||
AmdSmiFwBlock.FW_ID_VCE,
|
||||
AmdSmiFwBlock.FW_ID_VCN]
|
||||
|
||||
dec_format_fw = [AmdSmiFwBlock.FW_ID_PM]
|
||||
|
||||
firmwares = []
|
||||
for i in range(0, fw_info.num_fw_info):
|
||||
fw_name = AmdSmiFwBlock(fw_info.fw_info_list[i].fw_id)
|
||||
@@ -1682,6 +1683,12 @@ def amdsmi_get_fw_info(
|
||||
|
||||
if fw_name in hex_format_fw:
|
||||
fw_version_string = ".".join(re.findall('..?', hex(fw_version)[2:]))
|
||||
elif fw_name in dec_format_fw:
|
||||
# Convert every two hex digits to decimal and join them with a dot
|
||||
dec_version_string = ''
|
||||
for ver1,ver2 in zip(hex(fw_version)[2::2], hex(fw_version)[3::2]):
|
||||
dec_version_string += str(int(f"0x{ver1}{ver2}", 0)) + "."
|
||||
fw_version_string = dec_version_string.strip('.')
|
||||
else:
|
||||
fw_version_string = str(fw_version)
|
||||
|
||||
|
||||
@@ -496,10 +496,10 @@ amdsmi_fw_block_t__enumvalues = {
|
||||
71: 'FW_ID_RLC_SAVE_RESTORE_LIST',
|
||||
72: 'FW_ID_ASD',
|
||||
73: 'FW_ID_TA_RAS',
|
||||
74: 'FW_ID_XGMI',
|
||||
74: 'FW_ID_TA_XGMI',
|
||||
75: 'FW_ID_RLC_SRLG',
|
||||
76: 'FW_ID_RLC_SRLS',
|
||||
77: 'FW_ID_SMC',
|
||||
77: 'FW_ID_PM',
|
||||
78: 'FW_ID_DMCU',
|
||||
79: 'FW_ID__MAX',
|
||||
}
|
||||
@@ -577,10 +577,10 @@ FW_ID_RLCV_LX7 = 70
|
||||
FW_ID_RLC_SAVE_RESTORE_LIST = 71
|
||||
FW_ID_ASD = 72
|
||||
FW_ID_TA_RAS = 73
|
||||
FW_ID_XGMI = 74
|
||||
FW_ID_TA_XGMI = 74
|
||||
FW_ID_RLC_SRLG = 75
|
||||
FW_ID_RLC_SRLS = 76
|
||||
FW_ID_SMC = 77
|
||||
FW_ID_PM = 77
|
||||
FW_ID_DMCU = 78
|
||||
FW_ID__MAX = 79
|
||||
amdsmi_fw_block_t = ctypes.c_uint32 # enum
|
||||
@@ -2235,9 +2235,9 @@ __all__ = \
|
||||
'FW_ID_RS64_PFP_P1_DATA', 'FW_ID_SDMA0', 'FW_ID_SDMA1',
|
||||
'FW_ID_SDMA2', 'FW_ID_SDMA3', 'FW_ID_SDMA4', 'FW_ID_SDMA5',
|
||||
'FW_ID_SDMA6', 'FW_ID_SDMA7', 'FW_ID_SDMA_TH0', 'FW_ID_SDMA_TH1',
|
||||
'FW_ID_SEC_POLICY_STAGE2', 'FW_ID_SMC', 'FW_ID_SMU',
|
||||
'FW_ID_TA_RAS', 'FW_ID_UVD', 'FW_ID_VCE', 'FW_ID_VCN',
|
||||
'FW_ID_XGMI', 'FW_ID__MAX', 'MEMORY_PARTITION_NPS1',
|
||||
'FW_ID_SEC_POLICY_STAGE2', 'FW_ID_PM', 'FW_ID_SMU',
|
||||
'FW_ID_TA_RAS', 'FW_ID_TA_XGMI', 'FW_ID_UVD', 'FW_ID_VCE',
|
||||
'FW_ID_VCN', 'FW_ID__MAX', 'MEMORY_PARTITION_NPS1',
|
||||
'MEMORY_PARTITION_NPS2', 'MEMORY_PARTITION_NPS4',
|
||||
'MEMORY_PARTITION_NPS8', 'MEMORY_PARTITION_UNKNOWN',
|
||||
'NON_AMD_CPU', 'NON_AMD_GPU', 'RD_BW0', 'TEMPERATURE_TYPE_EDGE',
|
||||
|
||||
@@ -662,10 +662,10 @@ amdsmi_status_t amdsmi_get_fw_info(amdsmi_processor_handle processor_handle,
|
||||
{ FW_ID_RLC_RESTORE_LIST_SRM_MEM, RSMI_FW_BLOCK_RLC_SRLS},
|
||||
{ FW_ID_SDMA0, RSMI_FW_BLOCK_SDMA},
|
||||
{ FW_ID_SDMA1, RSMI_FW_BLOCK_SDMA2},
|
||||
{ FW_ID_SMC, RSMI_FW_BLOCK_SMC},
|
||||
{ FW_ID_PM, RSMI_FW_BLOCK_SMC},
|
||||
{ FW_ID_PSP_SOSDRV, RSMI_FW_BLOCK_SOS},
|
||||
{ FW_ID_TA_RAS, RSMI_FW_BLOCK_TA_RAS},
|
||||
{ FW_ID_XGMI, RSMI_FW_BLOCK_TA_XGMI},
|
||||
{ FW_ID_TA_XGMI, RSMI_FW_BLOCK_TA_XGMI},
|
||||
{ FW_ID_UVD, RSMI_FW_BLOCK_UVD},
|
||||
{ FW_ID_VCE, RSMI_FW_BLOCK_VCE},
|
||||
{ FW_ID_VCN, RSMI_FW_BLOCK_VCN}
|
||||
|
||||
@@ -64,10 +64,10 @@ static const std::map<amdsmi_fw_block_t, const char *> kDevFWNameMap = {
|
||||
{FW_ID_RLC_SRLS, "rlc_srls"},
|
||||
{FW_ID_SDMA1, "sdma1"},
|
||||
{FW_ID_SDMA2, "sdma2"},
|
||||
{FW_ID_SMC, "smc"},
|
||||
{FW_ID_PM, "pm"},
|
||||
{FW_ID_PSP_SOSDRV, "sos"},
|
||||
{FW_ID_TA_RAS, "ta_ras"},
|
||||
{FW_ID_XGMI, "ta_xgmi"},
|
||||
{FW_ID_TA_XGMI, "ta_xgmi"},
|
||||
{FW_ID_UVD, "uvd"},
|
||||
{FW_ID_VCE, "vce"},
|
||||
{FW_ID_VCN, "vcn"},
|
||||
|
||||
Yeni konuda referans
Bir kullanıcı engelle