From 2c87d95ffb8fc0d710d8775dc9e4d36948e03c1d Mon Sep 17 00:00:00 2001 From: Maisam Arif Date: Wed, 24 Jan 2024 07:28:04 -0600 Subject: [PATCH 1/3] Corrected Cache Type Enum Signed-off-by: Maisam Arif Change-Id: I7d861d022e2855c35e4a79681f83977cc633d1c6 --- py-interface/amdsmi_interface.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py-interface/amdsmi_interface.py b/py-interface/amdsmi_interface.py index ac6bbf736e..9f94ef2651 100644 --- a/py-interface/amdsmi_interface.py +++ b/py-interface/amdsmi_interface.py @@ -358,7 +358,7 @@ class AmdSmiProcessorType(IntEnum): NON_AMD_GPU = amdsmi_wrapper.NON_AMD_GPU NON_AMD_CPU = amdsmi_wrapper.NON_AMD_CPU -class AmdSmiCacheTypeNames(Enum): +class AmdSmiCacheTypeNames(IntEnum): DATA_CACHE = 2 INST_CACHE = 4 CPU_CACHE = 8 From 53177525bfc5ebc56e8f774d8fab1dc89f65b4bf Mon Sep 17 00:00:00 2001 From: Maisam Arif Date: Wed, 24 Jan 2024 07:29:34 -0600 Subject: [PATCH 2/3] SWDEV-434348: Corrected Guest Vendor Name values Signed-off-by: Maisam Arif Change-Id: Iee0d45fc64386f0417a0e30cce05608ca2186990 --- amdsmi_cli/amdsmi_commands.py | 2 ++ py-interface/amdsmi_interface.py | 2 +- src/amd_smi/amd_smi.cc | 14 ++++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/amdsmi_cli/amdsmi_commands.py b/amdsmi_cli/amdsmi_commands.py index 1179709e6d..ce8088cc85 100644 --- a/amdsmi_cli/amdsmi_commands.py +++ b/amdsmi_cli/amdsmi_commands.py @@ -329,6 +329,8 @@ class AMDSMICommands(): asic_info['rev_id'] = hex(asic_info['rev_id']) if asic_info['asic_serial'] != '': asic_info['asic_serial'] = hex(int(asic_info['asic_serial'], base=16)) + else: + asic_info['asic_serial'] = "N/A" if asic_info['oam_id'] == 0xFFFF: # uint 16 max asic_info['oam_id'] = "N/A" static_dict['asic'] = asic_info diff --git a/py-interface/amdsmi_interface.py b/py-interface/amdsmi_interface.py index 9f94ef2651..3d7496ea33 100644 --- a/py-interface/amdsmi_interface.py +++ b/py-interface/amdsmi_interface.py @@ -1556,7 +1556,7 @@ def amdsmi_get_gpu_asic_info( "market_name": asic_info.market_name.decode("utf-8"), "vendor_id": asic_info.vendor_id, "vendor_name": asic_info.vendor_name.decode("utf-8"), - "subvendor_id": asic_info.subvendor_id, + "subvendor_id": hex(asic_info.subvendor_id), "device_id": asic_info.device_id, "rev_id": asic_info.rev_id, "asic_serial": asic_info.asic_serial.decode("utf-8"), diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc index 4d3e696d23..08a0d549c9 100644 --- a/src/amd_smi/amd_smi.cc +++ b/src/amd_smi/amd_smi.cc @@ -672,15 +672,21 @@ amdsmi_get_gpu_asic_info(amdsmi_processor_handle processor_handle, amdsmi_asic_i status = rsmi_wrapper(rsmi_dev_vendor_id_get, processor_handle, &vendor_id); if (status == AMDSMI_STATUS_SUCCESS) info->vendor_id = vendor_id; - - status = rsmi_wrapper(rsmi_dev_subsystem_vendor_id_get, processor_handle, - &subvendor_id); - if (status == AMDSMI_STATUS_SUCCESS) info->subvendor_id = subvendor_id; } // For other sysfs related information, get from rocm-smi + status = rsmi_wrapper(rsmi_dev_subsystem_vendor_id_get, processor_handle, + &subvendor_id); + if (status == AMDSMI_STATUS_SUCCESS) info->subvendor_id = subvendor_id; + status = rsmi_wrapper(rsmi_dev_pcie_vendor_name_get, processor_handle, info->vendor_name, AMDSMI_MAX_STRING_LENGTH); + // If vendor name is empty and the vendor id is 0x1002, set vendor name to AMD vendor string + if ((info->vendor_name != NULL && info->vendor_name[0] == '\0') && info->vendor_id == 0x1002) { + memset(info->vendor_name, 0, 38); + strncpy(info->vendor_name, "Advanced Micro Devices Inc. [AMD/ATI]", 37); + } + // default to 0xffff as not supported info->oam_id = std::numeric_limits::max(); status = rsmi_wrapper(rsmi_dev_oam_id_get, processor_handle, From 94f41f2b70d9bbf3e5c3fc86bcca1674f54f9c16 Mon Sep 17 00:00:00 2001 From: Maisam Arif Date: Wed, 24 Jan 2024 07:48:30 -0600 Subject: [PATCH 3/3] Corrected AmdSmiCacheTypeNames interface class Signed-off-by: Maisam Arif Change-Id: Iec9c6097aec460b180a112be2d24293a40bde125 --- py-interface/amdsmi_interface.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/py-interface/amdsmi_interface.py b/py-interface/amdsmi_interface.py index 3d7496ea33..ac0065bd3c 100644 --- a/py-interface/amdsmi_interface.py +++ b/py-interface/amdsmi_interface.py @@ -359,10 +359,11 @@ class AmdSmiProcessorType(IntEnum): NON_AMD_CPU = amdsmi_wrapper.NON_AMD_CPU class AmdSmiCacheTypeNames(IntEnum): - DATA_CACHE = 2 - INST_CACHE = 4 - CPU_CACHE = 8 - SIMD_CACHE = 16 + ENABLED = amdsmi_wrapper.CACHE_FLAGS_ENABLED + DATA_CACHE = amdsmi_wrapper.CACHE_FLAGS_DATA_CACHE + INST_CACHE = amdsmi_wrapper.CACHE_FLAGS_INST_CACHE + CPU_CACHE = amdsmi_wrapper.CACHE_FLAGS_CPU_CACHE + SIMD_CACHE = amdsmi_wrapper.CACHE_FLAGS_SIMD_CACHE class AmdSmiEventReader: def __init__(