Updated interface & wrapper to work with ras_feature

Change-Id: Iadd8c5e736f4dad2662dda2c9587454f00197474
Signed-off-by: Maisam Arif <maisarif@amd.com>


[ROCm/amdsmi commit: f0e6f34bfe]
This commit is contained in:
Maisam Arif
2023-10-12 17:45:48 -05:00
committed by Maisam Arif
parent b9073f2bf7
commit 1c23b45a38
2 changed files with 31 additions and 9 deletions
@@ -863,14 +863,22 @@ def amdsmi_get_gpu_ras_feature_info(
raise AmdSmiParameterException(
processor_handle, amdsmi_wrapper.amdsmi_processor_handle
)
# Dummy data waiting on population
ras_info = {"eeprom_version": "N/A",
"parity_schema" : "N/A",
"single_bit_schema" : "N/A",
"double_bit_schema" : "N/A",
"poison_schema" : "N/A"}
return ras_info
ras_feature = amdsmi_wrapper.amdsmi_ras_feature_t()
_check_res(
amdsmi_wrapper.amdsmi_get_gpu_ras_feature_info(
processor_handle, ctypes.byref(ras_feature)
)
)
return {
"eeprom_version": ras_feature.ras_eeprom_version,
"parity_schema" : bool(ras_feature.ecc_correction_schema_flags & 1),
"single_bit_schema" : bool(ras_feature.ecc_correction_schema_flags & 2),
"double_bit_schema" : bool(ras_feature.ecc_correction_schema_flags & 4),
"poison_schema" : bool(ras_feature.ecc_correction_schema_flags & 8)
}
def amdsmi_get_gpu_ras_block_features_enabled(
+16 -2
View File
@@ -1447,6 +1447,17 @@ struct_amdsmi_gpu_metrics_t._fields_ = [
]
amdsmi_gpu_metrics_t = struct_amdsmi_gpu_metrics_t
class struct_amdsmi_ras_feature_t(Structure):
pass
struct_amdsmi_ras_feature_t._pack_ = 1 # source:False
struct_amdsmi_ras_feature_t._fields_ = [
('ras_eeprom_version', ctypes.c_uint32),
('ecc_correction_schema_flag', ctypes.c_uint32),
]
amdsmi_ras_feature_t = struct_amdsmi_ras_feature_t
class struct_amdsmi_error_count_t(Structure):
pass
@@ -1637,6 +1648,9 @@ amdsmi_get_gpu_od_volt_info.argtypes = [amdsmi_processor_handle, ctypes.POINTER(
amdsmi_get_gpu_metrics_info = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_info
amdsmi_get_gpu_metrics_info.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_info.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_amdsmi_gpu_metrics_t)]
amdsmi_get_gpu_ras_feature_info = _libraries['libamd_smi.so'].amdsmi_get_gpu_ras_feature_info
amdsmi_get_gpu_ras_feature_info.restype = amdsmi_status_t
amdsmi_get_gpu_ras_feature_info.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_amdsmi_ras_feature_t)]
amdsmi_set_gpu_clk_range = _libraries['libamd_smi.so'].amdsmi_set_gpu_clk_range
amdsmi_set_gpu_clk_range.restype = amdsmi_status_t
amdsmi_set_gpu_clk_range.argtypes = [amdsmi_processor_handle, uint64_t, uint64_t, amdsmi_clk_type_t]
@@ -1972,7 +1986,7 @@ __all__ = \
'amdsmi_get_gpu_fan_speed', 'amdsmi_get_gpu_fan_speed_max',
'amdsmi_get_gpu_id', 'amdsmi_get_gpu_memory_reserved_pages',
'amdsmi_get_gpu_memory_total', 'amdsmi_get_gpu_memory_usage',
'amdsmi_get_gpu_metrics_info',
'amdsmi_get_gpu_metrics_info', 'amdsmi_get_gpu_ras_feature_info',
'amdsmi_get_gpu_od_volt_curve_regions',
'amdsmi_get_gpu_od_volt_info', 'amdsmi_get_gpu_overdrive_level',
'amdsmi_get_gpu_pci_bandwidth',
@@ -2029,7 +2043,7 @@ __all__ = \
'amdsmi_temperature_metric_t', 'amdsmi_temperature_type_t',
'amdsmi_topo_get_link_type', 'amdsmi_topo_get_link_weight',
'amdsmi_topo_get_numa_node_number',
'amdsmi_utilization_counter_t',
'amdsmi_utilization_counter_t', 'struct_amdsmi_ras_feature_t',
'amdsmi_utilization_counter_type_t', 'amdsmi_vbios_info_t',
'amdsmi_version_t', 'amdsmi_voltage_metric_t',
'amdsmi_voltage_type_t', 'amdsmi_vram_info_t',