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:
@@ -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(
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user