Change API to get the driver date

Support the driver date from libdrm.

Change-Id: I88e694732b538220e11fdb4029712bb5a6f44380


[ROCm/amdsmi commit: 55bf9cbe13]
This commit is contained in:
Bill(Shuzhou) Liu
2023-07-21 08:26:59 -05:00
rodzic 2cd3f6565e
commit 4d4f8a4f8c
12 zmienionych plików z 92 dodań i 41 usunięć
+5 -5
Wyświetl plik
@@ -302,17 +302,17 @@ except AmdSmiException as e:
print(e)
```
### amdsmi_get_gpu_driver_version
### amdsmi_get_gpu_driver_info
Description: Returns the version string of the driver
Description: Returns the info of the driver
Input parameters:
* `processor_handle` dev for which to query
Output: Driver version string that is handling the device
Output: Driver info that is handling the device
Exceptions that can be thrown by `amdsmi_get_gpu_driver_version` function:
Exceptions that can be thrown by `amdsmi_get_gpu_driver_info` function:
* `AmdSmiParameterException`
* `AmdSmiLibraryException`
@@ -322,7 +322,7 @@ Example:
```python
try:
device = amdsmi_get_processor_handles()[0]
print("Driver version: ", amdsmi_get_gpu_driver_version(device))
print("Driver info: ", amdsmi_get_gpu_driver_info(device))
except AmdSmiException as e:
print(e)
```
@@ -34,7 +34,7 @@ from .amdsmi_interface import amdsmi_get_gpu_device_uuid
from .amdsmi_interface import amdsmi_get_processor_handle_from_bdf
# # SW Version Information
from .amdsmi_interface import amdsmi_get_gpu_driver_version
from .amdsmi_interface import amdsmi_get_gpu_driver_info
# # ASIC and Bus Static Information
from .amdsmi_interface import amdsmi_get_gpu_asic_info
@@ -917,9 +917,9 @@ def amdsmi_get_gpu_device_uuid(processor_handle: amdsmi_wrapper.amdsmi_processor
return uuid.value.decode("utf-8")
def amdsmi_get_gpu_driver_version(
def amdsmi_get_gpu_driver_info(
processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
) -> str:
) -> Dict[str, Any]:
if not isinstance(processor_handle, amdsmi_wrapper.amdsmi_processor_handle):
raise AmdSmiParameterException(
processor_handle, amdsmi_wrapper.amdsmi_processor_handle
@@ -930,13 +930,17 @@ def amdsmi_get_gpu_driver_version(
version = ctypes.create_string_buffer(_AMDSMI_MAX_DRIVER_VERSION_LENGTH)
info = amdsmi_wrapper.amdsmi_driver_info_t()
_check_res(
amdsmi_wrapper.amdsmi_get_gpu_driver_version(
processor_handle, ctypes.byref(length), version
amdsmi_wrapper.amdsmi_get_gpu_driver_info(
processor_handle, ctypes.byref(info)
)
)
return version.value.decode("utf-8")
return {
"driver_version": info.driver_version.decode("utf-8"),
"driver_date": info.driver_date.decode("utf-8")
}
def amdsmi_get_power_info(
@@ -675,6 +675,16 @@ struct_c__SA_amdsmi_asic_info_t._fields_ = [
]
amdsmi_asic_info_t = struct_c__SA_amdsmi_asic_info_t
class struct_c__SA_amdsmi_driver_info_t(Structure):
pass
struct_c__SA_amdsmi_driver_info_t._pack_ = 1 # source:False
struct_c__SA_amdsmi_driver_info_t._fields_ = [
('driver_version', ctypes.c_char * 64),
('driver_date', ctypes.c_char * 64),
]
amdsmi_driver_info_t = struct_c__SA_amdsmi_driver_info_t
class struct_c__SA_amdsmi_board_info_t(Structure):
pass
@@ -1613,9 +1623,9 @@ amdsmi_get_gpu_device_bdf.argtypes = [amdsmi_processor_handle, ctypes.POINTER(un
amdsmi_get_gpu_device_uuid = _libraries['libamd_smi.so'].amdsmi_get_gpu_device_uuid
amdsmi_get_gpu_device_uuid.restype = amdsmi_status_t
amdsmi_get_gpu_device_uuid.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_char)]
amdsmi_get_gpu_driver_version = _libraries['libamd_smi.so'].amdsmi_get_gpu_driver_version
amdsmi_get_gpu_driver_version.restype = amdsmi_status_t
amdsmi_get_gpu_driver_version.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_int32), ctypes.POINTER(ctypes.c_char)]
amdsmi_get_gpu_driver_info = _libraries['libamd_smi.so'].amdsmi_get_gpu_driver_info
amdsmi_get_gpu_driver_info.restype = amdsmi_status_t
amdsmi_get_gpu_driver_info.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_c__SA_amdsmi_driver_info_t)]
amdsmi_get_gpu_asic_info = _libraries['libamd_smi.so'].amdsmi_get_gpu_asic_info
amdsmi_get_gpu_asic_info.restype = amdsmi_status_t
amdsmi_get_gpu_asic_info.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_c__SA_amdsmi_asic_info_t)]
@@ -1796,10 +1806,10 @@ __all__ = \
'amdsmi_counter_command_t',
'amdsmi_counter_command_t__enumvalues', 'amdsmi_counter_value_t',
'amdsmi_dev_perf_level_t', 'amdsmi_dev_perf_level_t__enumvalues',
'amdsmi_engine_usage_t', 'amdsmi_error_count_t',
'amdsmi_event_group_t', 'amdsmi_event_group_t__enumvalues',
'amdsmi_event_handle_t', 'amdsmi_event_type_t',
'amdsmi_event_type_t__enumvalues',
'amdsmi_driver_info_t', 'amdsmi_engine_usage_t',
'amdsmi_error_count_t', 'amdsmi_event_group_t',
'amdsmi_event_group_t__enumvalues', 'amdsmi_event_handle_t',
'amdsmi_event_type_t', 'amdsmi_event_type_t__enumvalues',
'amdsmi_evt_notification_data_t',
'amdsmi_evt_notification_type_t',
'amdsmi_evt_notification_type_t__enumvalues', 'amdsmi_freq_ind_t',
@@ -1816,7 +1826,7 @@ __all__ = \
'amdsmi_get_gpu_compute_process_info',
'amdsmi_get_gpu_compute_process_info_by_pid',
'amdsmi_get_gpu_device_bdf', 'amdsmi_get_gpu_device_uuid',
'amdsmi_get_gpu_driver_version', 'amdsmi_get_gpu_ecc_count',
'amdsmi_get_gpu_driver_info', 'amdsmi_get_gpu_ecc_count',
'amdsmi_get_gpu_ecc_enabled', 'amdsmi_get_gpu_ecc_status',
'amdsmi_get_gpu_event_notification', 'amdsmi_get_gpu_fan_rpms',
'amdsmi_get_gpu_fan_speed', 'amdsmi_get_gpu_fan_speed_max',
@@ -1910,6 +1920,7 @@ __all__ = \
'struct_c__SA_amdsmi_board_info_t',
'struct_c__SA_amdsmi_clk_info_t',
'struct_c__SA_amdsmi_counter_value_t',
'struct_c__SA_amdsmi_driver_info_t',
'struct_c__SA_amdsmi_engine_usage_t',
'struct_c__SA_amdsmi_error_count_t',
'struct_c__SA_amdsmi_evt_notification_data_t',