amdsmi.h File Reference

amdsmi.h File Reference#

AMD SMI: amdsmi.h File Reference
amdsmi.h File Reference

AMD System Management Interface API. More...

#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>

Go to the source code of this file.

Data Structures

union  amdsmi_bdf_t
 bdf types More...
 
struct  amdsmi_bdf_t::bdf_
 
struct  amdsmi_pcie_info_t
 pcie information More...
 
struct  amdsmi_pcie_info_t::pcie_static_
 
struct  amdsmi_pcie_info_t::pcie_metric_
 
struct  amdsmi_link_metrics_t
 Link Metrics. More...
 
struct  amdsmi_link_metrics_t::_links
 
struct  amdsmi_power_cap_info_t
 Power Cap Information. More...
 
struct  amdsmi_vbios_info_t
 VBios Information. More...
 
struct  amdsmi_asic_info_t
 ASIC Information. More...
 
struct  amdsmi_power_info_t
 Power Information. More...
 
struct  amdsmi_driver_info_t
 Driver Information. More...
 
struct  amdsmi_vram_info_t
 VRam Information. More...
 
struct  amdsmi_engine_usage_t
 Engine Usage amdsmi_engine_usage_t: This structure holds common GPU activity values seen in both BM or SRIOV. More...
 
struct  amdsmi_clk_info_t
 Clock Information. More...
 
struct  amdsmi_error_count_t
 This structure holds error counts. More...
 
union  amdsmi_nps_caps_t
 This union holds memory partition bitmask. More...
 
struct  amdsmi_nps_caps_t::nps_flags_
 
struct  amdsmi_memory_partition_config_t
 Memory Partition Configuration. This structure is used to identify various memory partition configurations. More...
 
struct  amdsmi_memory_partition_config_t::numa_range_
 
struct  amdsmi_accelerator_partition_profile_t
 Accelerator Partition Resource Profile. More...
 
struct  amdsmi_accelerator_partition_resource_profile_t
 Accelerator Partition Resources. This struct is used to identify various partition resource profiles. More...
 
struct  amdsmi_accelerator_partition_profile_config_t
 Accelerator Partition Profile Configurations. More...
 
struct  amdsmi_board_info_t
 Board Information. More...
 
struct  amdsmi_p2p_capability_t
 IO Link P2P Capability. More...
 
struct  amdsmi_gpu_cache_info_t
 GPU Cache Information. More...
 
struct  amdsmi_gpu_cache_info_t::cache_
 
struct  amdsmi_fw_info_t
 Firmware Information. More...
 
struct  amdsmi_dpm_policy_entry_t
 The dpm policy. More...
 
struct  amdsmi_dpm_policy_t
 DPM Policy. More...
 
struct  amdsmi_ras_feature_t
 This structure holds ras feature information. More...
 
struct  amdsmi_cper_guid_t
 Cper. More...
 
struct  amdsmi_cper_timestamp_t
 
union  amdsmi_cper_valid_bits_t
 
struct  amdsmi_cper_valid_bits_t::valid_bits_
 
struct  amdsmi_cper_hdr_t
 
struct  amdsmi_vf_handle_t
 VF Handle. More...
 
struct  amdsmi_event_entry_t
 Event Entry. More...
 
struct  amdsmi_handshake_t
 Handshake. More...
 
struct  amdsmi_pf_fb_info_t
 PF FB Information. More...
 
struct  amdsmi_vf_fb_info_t
 VF FB Information. More...
 
struct  amdsmi_partition_info_t
 Partition Information. More...
 
struct  amdsmi_guard_info_t
 Guard Information. More...
 
struct  amdsmi_vf_info_t
 VF Information. More...
 
struct  amdsmi_sched_info_t
 Schedule Information. More...
 
struct  amdsmi_vf_data_t
 VF Data. More...
 
struct  amdsmi_profile_caps_info_t
 Profile Caps Information. More...
 
struct  amdsmi_profile_info_t
 Profile Information. More...
 
struct  amdsmi_guest_data_t
 Guest Data. More...
 
struct  amdsmi_dfc_fw_header_t
 DFC Firmware Header. More...
 
struct  amdsmi_dfc_fw_white_list_t
 DFC Firmware White List. More...
 
struct  amdsmi_dfc_fw_ta_uuid_t
 DFC Firmware TA UUID. More...
 
struct  amdsmi_dfc_fw_data_t
 DFC Firmware Data. More...
 
struct  amdsmi_dfc_fw_t
 DFC Firmware. More...
 
struct  amdsmi_eeprom_table_record_t
 Structure representing an EEPROM table record for tracking memory errors. More...
 
struct  amdsmi_fw_load_error_record_t
 Firmware Load Error Record. More...
 
struct  amdsmi_fw_error_record_t
 Firmware Error Record. More...
 
struct  amdsmi_link_topology_t
 Link Topology. More...
 
struct  amdsmi_topology_nearest_t
 Topology Nearest. More...
 
union  amdsmi_xgmi_fb_sharing_caps_t
 XGMI FB Sharing Caps. More...
 
struct  amdsmi_xgmi_fb_sharing_caps_t::cap_
 
struct  amdsmi_metric_t
 Metric. More...
 
struct  amdsmi_version_t
 This structure holds version information. More...
 
struct  amdsmi_accelerator_partition_profile_global_t
 
struct  amdsmi_accelerator_partition_profile_config_global_t
 
struct  amdsmi_nic_stat_t
 Structure for NIC statistic name-value pairs. More...
 
struct  amdsmi_nic_asic_info_t
 NIC asic information. More...
 
struct  amdsmi_nic_bus_info_t
 NIC bus information. More...
 
struct  amdsmi_nic_numa_info_t
 NIC NUMA information. More...
 
struct  amdsmi_nic_fw_t
 NIC firmware information. More...
 
struct  amdsmi_nic_fw_info_t
 NIC firmware information collection. More...
 
struct  amdsmi_nic_port_t
 NIC port information. More...
 
struct  amdsmi_nic_port_info_t
 NIC port information collection. More...
 
struct  amdsmi_nic_driver_info_t
 NIC driver information. More...
 
struct  amdsmi_nic_rdma_port_info_t
 NIC RDMA port information. More...
 
struct  amdsmi_nic_rdma_dev_info_t
 NIC RDMA device information. More...
 
struct  amdsmi_nic_rdma_devices_info_t
 NIC RDMA devices information collection. More...
 

Macros

#define AMDSMI_MAX_NUM_XGMI_PHYSICAL_LINK   64
 Common defines. More...
 
#define AMDSMI_MAX_NUM_PM_POLICIES   32
 Maximum number of power management policies.
 
#define AMDSMI_MAX_CONTAINER_TYPE   2
 Maximum number of container types.
 
#define AMDSMI_MAX_MM_IP_COUNT   8
 Maximum size definitions. More...
 
#define AMDSMI_MAX_DEVICES   32
 Maximum number of devices supported.
 
#define AMDSMI_MAX_STRING_LENGTH   256
 Maximum length for string buffers.
 
#define AMDSMI_MAX_CACHE_TYPES   10
 Maximum number of cache types.
 
#define AMDSMI_MAX_CP_PROFILE_RESOURCES   32
 Maximum number of compute profile resources.
 
#define AMDSMI_MAX_ACCELERATOR_PARTITIONS   8
 Maximum number of accelerator partitions.
 
#define AMDSMI_MAX_ACCELERATOR_PROFILE   32
 Maximum number of accelerator profiles.
 
#define AMDSMI_MAX_NUM_NUMA_NODES   32
 Maximum number of NUMA nodes.
 
#define AMDSMI_GPU_UUID_SIZE   38
 Size of GPU UUID string.
 
#define MAX_NUMBER_OF_AFIDS_PER_RECORD   12
 Max Number of AFIDs that will be inside one cper entry. More...
 
#define AMDSMI_MAX_VF_COUNT   32
 Maximum size definitions AMDSMI. More...
 
#define AMDSMI_MAX_DRIVER_NUM   2
 Maximum number of drivers supported.
 
#define AMDSMI_DFC_FW_NUMBER_OF_ENTRIES   9
 Number of DFC firmware entries supported.
 
#define AMDSMI_MAX_WHITE_LIST_ELEMENTS   16
 Maximum number of white list elements for device access control.
 
#define AMDSMI_MAX_BLACK_LIST_ELEMENTS   64
 Maximum number of black list elements for device access control.
 
#define AMDSMI_MAX_UUID_ELEMENTS   16
 Maximum number of UUID elements supported.
 
#define AMDSMI_MAX_TA_WHITE_LIST_ELEMENTS   8
 Maximum number of TA (Trusted Application) white list elements.
 
#define AMDSMI_MAX_ERR_RECORDS   10
 Maximum number of error records that can be stored.
 
#define AMDSMI_MAX_PROFILE_COUNT   16
 Maximum number of profiles supported.
 
#define AMDSMI_TIME_FORMAT   "%02d:%02d:%02d.%03d"
 String format. More...
 
#define AMDSMI_DATE_FORMAT   "%04d-%02d-%02d:%02d:%02d:%02d.%03d"
 Date format string.
 
#define SMI_VERSION_ALPHA_0   0x00000002
 Version info.
 
#define SMI_VERSION_BETA_0   0x00000003
 
#define SMI_VERSION_BETA_1   0x00000004
 
#define SMI_VERSION_BETA_2   0x00000005
 
#define SMI_VERSION_BETA_3   0x00000006
 
#define SMI_VERSION_BETA_4   0x00000007
 
#define AMDSMI_MASK_ALL   (~0ULL)
 AMDSMI event mask. More...
 
#define AMDSMI_MASK_DEFAULT   ((1ULL << 62) - 1)
 include all events but only error severities without warnings and infos
 
#define AMDSMI_MASK_INIT   (0ULL)
 a clear event mask
 
#define AMDSMI_MASK_HIGH_AND_MED_SEVERITY   (~((1ULL << 61) - 1))
 check mask in case new severity levels are not supported
 
#define AMDSMI_MASK_HIGH_ERROR_SEVERITY_ONLY(mask)   (mask & ((1ULL << 60) - 1))
 error severity level mask
 
#define AMDSMI_MASK_INCLUDE_MED_ERROR_SEVERITY(mask)   (mask | (1ULL << 60))
 
#define AMDSMI_MASK_INCLUDE_LOW_ERROR_SEVERITY(mask)   (mask | (1ULL << 61))
 
#define AMDSMI_MASK_INCLUDE_WARN_SEVERITY(mask)   (mask | (1ULL << 62))
 
#define AMDSMI_MASK_INCLUDE_INFO_SEVERITY(mask)   (mask | (1ULL << 63))
 
#define AMDSMI_MASK_HIGH_SEVERITY_ONLY(mask)   (mask & ((1ULL << 62) - 1))
 map old severity level mask to new severity level
 
#define AMDSMI_MASK_INCLUDE_MED_SEVERITY(mask)   AMDSMI_MASK_INCLUDE_WARN_SEVERITY(mask)
 
#define AMDSMI_MASK_INCLUDE_LOW_SEVERITY(mask)   AMDSMI_MASK_INCLUDE_INFO_SEVERITY(mask)
 
#define AMDSMI_MASK_INCLUDE_CATEGORY(mask, cate)   (mask | (1ULL << cate))
 
#define AMDSMI_MASK_EXCLUDE_CATEGORY(mask, cate)   (mask & (~(1ULL << cate)))
 
#define AMDSMI_MAX_FB_SHARING_GROUPS   64
 
#define AMDSMI_MAX_NUM_CONNECTED_NODES   64
 
#define AMDSMI_MAX_NUM_METRICS_V1   255
 
#define AMDSMI_MAX_NUM_METRICS_V2   512
 
#define AMDSMI_MAX_NUM_METRICS   AMDSMI_MAX_NUM_METRICS_V2
 
#define AMDSMI_MAX_BAD_PAGE_RECORD_V1   512
 
#define AMDSMI_MAX_BAD_PAGE_RECORD_V2   16384
 
#define AMDSMI_MAX_BAD_PAGE_RECORD   AMDSMI_MAX_BAD_PAGE_RECORD_V2
 
#define AMDSMI_MAX_DATE_STRING_LENGTH   32
 Maximum size definitions for date strings. More...
 
#define AMDSMI_EVENT_FW_FW_INIT_FAIL   AMDSMI_EVENT_FW_RING_INIT_FAIL
 
#define AMDSMI_MAX_NIC_PORTS   32
 Maximum size definitions AMDSMI NIC. More...
 
#define AMDSMI_MAX_NIC_RDMA_DEV   32
 Maximum number of NIC RDMA devices.
 
#define AMDSMI_MAX_NIC_FW   16
 Maximum number of NIC firmwares.
 

Typedefs

typedef void * amdsmi_processor_handle
 opaque handler point to underlying implementation
 
typedef void * amdsmi_socket_handle
 
typedef void * amdsmi_event_set
 Opague Handler point to underlying implementation.
 

Enumerations

enum  amdsmi_init_flags_t {
  AMDSMI_INIT_ALL_PROCESSORS = 0xFFFFFFFF , AMDSMI_INIT_AMD_CPUS = (1 << 0) , AMDSMI_INIT_AMD_GPUS = (1 << 1) , AMDSMI_INIT_NON_AMD_CPUS = (1 << 2) ,
  AMDSMI_INIT_NON_AMD_GPUS = (1 << 3) , AMDSMI_INIT_AMD_APUS = (AMDSMI_INIT_AMD_CPUS | AMDSMI_INIT_AMD_GPUS)
}
 Initialization flags. More...
 
enum  amdsmi_status_t {
  AMDSMI_STATUS_SUCCESS = 0 , AMDSMI_STATUS_INVAL = 1 , AMDSMI_STATUS_NOT_SUPPORTED = 2 , AMDSMI_STATUS_NOT_YET_IMPLEMENTED = 3 ,
  AMDSMI_STATUS_FAIL_LOAD_MODULE = 4 , AMDSMI_STATUS_FAIL_LOAD_SYMBOL = 5 , AMDSMI_STATUS_DRM_ERROR = 6 , AMDSMI_STATUS_API_FAILED = 7 ,
  AMDSMI_STATUS_TIMEOUT = 8 , AMDSMI_STATUS_RETRY = 9 , AMDSMI_STATUS_NO_PERM = 10 , AMDSMI_STATUS_INTERRUPT = 11 ,
  AMDSMI_STATUS_IO = 12 , AMDSMI_STATUS_ADDRESS_FAULT = 13 , AMDSMI_STATUS_FILE_ERROR = 14 , AMDSMI_STATUS_OUT_OF_RESOURCES = 15 ,
  AMDSMI_STATUS_INTERNAL_EXCEPTION = 16 , AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS = 17 , AMDSMI_STATUS_INIT_ERROR = 18 , AMDSMI_STATUS_REFCOUNT_OVERFLOW = 19 ,
  AMDSMI_STATUS_DIRECTORY_NOT_FOUND = 20 , AMDSMI_STATUS_BUSY = 30 , AMDSMI_STATUS_NOT_FOUND = 31 , AMDSMI_STATUS_NOT_INIT = 32 ,
  AMDSMI_STATUS_NO_SLOT = 33 , AMDSMI_STATUS_DRIVER_NOT_LOADED = 34 , AMDSMI_STATUS_MORE_DATA = 39 , AMDSMI_STATUS_NO_DATA = 40 ,
  AMDSMI_STATUS_INSUFFICIENT_SIZE = 41 , AMDSMI_STATUS_UNEXPECTED_SIZE = 42 , AMDSMI_STATUS_UNEXPECTED_DATA = 43 , AMDSMI_STATUS_NON_AMD_CPU = 44 ,
  AMDSMI_STATUS_NO_ENERGY_DRV = 45 , AMDSMI_STATUS_NO_MSR_DRV = 46 , AMDSMI_STATUS_NO_HSMP_DRV = 47 , AMDSMI_STATUS_NO_HSMP_SUP = 48 ,
  AMDSMI_STATUS_NO_HSMP_MSG_SUP = 49 , AMDSMI_STATUS_HSMP_TIMEOUT = 50 , AMDSMI_STATUS_NO_DRV = 51 , AMDSMI_STATUS_FILE_NOT_FOUND = 52 ,
  AMDSMI_STATUS_ARG_PTR_NULL = 53 , AMDSMI_STATUS_AMDGPU_RESTART_ERR = 54 , AMDSMI_STATUS_SETTING_UNAVAILABLE = 55 , AMDSMI_STATUS_CORRUPTED_EEPROM = 56 ,
  AMDSMI_STATUS_MAP_ERROR = 0xFFFFFFFE , AMDSMI_STATUS_UNKNOWN_ERROR = 0xFFFFFFFF
}
 Error codes returned by amdsmi functions. More...
 
enum  amdsmi_processor_type_t {
  AMDSMI_PROCESSOR_TYPE_UNKNOWN = 0 , AMDSMI_PROCESSOR_TYPE_AMD_GPU , AMDSMI_PROCESSOR_TYPE_AMD_CPU , AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU ,
  AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU , AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE , AMDSMI_PROCESSOR_TYPE_AMD_APU , AMDSMI_PROCESSOR_TYPE_AMD_NIC
}
 Processor types detectable by AMD SMI. More...
 
enum  amdsmi_memory_partition_type_t {
  AMDSMI_MEMORY_PARTITION_UNKNOWN = 0 , AMDSMI_MEMORY_PARTITION_NPS1 = 1 , AMDSMI_MEMORY_PARTITION_NPS2 = 2 , AMDSMI_MEMORY_PARTITION_NPS4 = 4 ,
  AMDSMI_MEMORY_PARTITION_NPS8 = 8
}
 Memory Partitions. More...
 
enum  amdsmi_accelerator_partition_type_t {
  AMDSMI_ACCELERATOR_PARTITION_INVALID = 0 , AMDSMI_ACCELERATOR_PARTITION_SPX , AMDSMI_ACCELERATOR_PARTITION_DPX , AMDSMI_ACCELERATOR_PARTITION_TPX ,
  AMDSMI_ACCELERATOR_PARTITION_QPX , AMDSMI_ACCELERATOR_PARTITION_CPX , AMDSMI_ACCELERATOR_PARTITION_MAX
}
 Accelerator Partition. More...
 
enum  amdsmi_vram_type_t {
  AMDSMI_VRAM_TYPE_UNKNOWN = 0 , AMDSMI_VRAM_TYPE_HBM = 1 , AMDSMI_VRAM_TYPE_HBM2 = 2 , AMDSMI_VRAM_TYPE_HBM2E = 3 ,
  AMDSMI_VRAM_TYPE_HBM3 = 4 , AMDSMI_VRAM_TYPE_HBM3E = 5 , AMDSMI_VRAM_TYPE_DDR2 = 10 , AMDSMI_VRAM_TYPE_DDR3 = 11 ,
  AMDSMI_VRAM_TYPE_DDR4 = 12 , AMDSMI_VRAM_TYPE_GDDR1 = 17 , AMDSMI_VRAM_TYPE_GDDR2 = 18 , AMDSMI_VRAM_TYPE_GDDR3 = 19 ,
  AMDSMI_VRAM_TYPE_GDDR4 = 20 , AMDSMI_VRAM_TYPE_GDDR5 = 21 , AMDSMI_VRAM_TYPE_GDDR6 = 22 , AMDSMI_VRAM_TYPE_GDDR7 = 23 ,
  AMDSMI_VRAM_TYPE__MAX = AMDSMI_VRAM_TYPE_GDDR7
}
 vRam Types. This enum is used to identify various VRam types. More...
 
enum  amdsmi_accelerator_partition_resource_type_t {
  AMDSMI_ACCELERATOR_XCC , AMDSMI_ACCELERATOR_ENCODER , AMDSMI_ACCELERATOR_DECODER , AMDSMI_ACCELERATOR_DMA ,
  AMDSMI_ACCELERATOR_JPEG , AMDSMI_ACCELERATOR_MAX
}
 Accelerator Partition Resource Types. More...
 
enum  amdsmi_clk_type_t {
  AMDSMI_CLK_TYPE_SYS = 0x0 , AMDSMI_CLK_TYPE_FIRST = AMDSMI_CLK_TYPE_SYS , AMDSMI_CLK_TYPE_GFX = AMDSMI_CLK_TYPE_SYS , AMDSMI_CLK_TYPE_DF ,
  AMDSMI_CLK_TYPE_DCEF , AMDSMI_CLK_TYPE_SOC , AMDSMI_CLK_TYPE_MEM , AMDSMI_CLK_TYPE_PCIE ,
  AMDSMI_CLK_TYPE_VCLK0 , AMDSMI_CLK_TYPE_VCLK1 , AMDSMI_CLK_TYPE_DCLK0 , AMDSMI_CLK_TYPE_DCLK1 ,
  AMDSMI_CLK_TYPE__MAX = AMDSMI_CLK_TYPE_DCLK1
}
 Clock types. More...
 
enum  amdsmi_temperature_type_t {
  AMDSMI_TEMPERATURE_TYPE_EDGE , AMDSMI_TEMPERATURE_TYPE_FIRST = AMDSMI_TEMPERATURE_TYPE_EDGE , AMDSMI_TEMPERATURE_TYPE_HOTSPOT , AMDSMI_TEMPERATURE_TYPE_JUNCTION = AMDSMI_TEMPERATURE_TYPE_HOTSPOT ,
  AMDSMI_TEMPERATURE_TYPE_VRAM , AMDSMI_TEMPERATURE_TYPE_HBM_0 , AMDSMI_TEMPERATURE_TYPE_HBM_1 , AMDSMI_TEMPERATURE_TYPE_HBM_2 ,
  AMDSMI_TEMPERATURE_TYPE_HBM_3 , AMDSMI_TEMPERATURE_TYPE_PLX , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_FIRST = 100 , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_RETIMER_X = AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_FIRST ,
  AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_IBC , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_IBC_2 , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_VDD18_VR , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_04_HBM_B_VR ,
  AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_04_HBM_D_VR , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_LAST = 149 , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VR_FIRST = 150 , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD0 = AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VR_FIRST ,
  AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD1 , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD2 , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD3 , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOC_A ,
  AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOC_C , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOCIO_A , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOCIO_C , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDD_085_HBM ,
  AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_11_HBM_B , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_11_HBM_D , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDD_USR , AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_11_E32 ,
  AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VR_LAST = 199 , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_FIRST = 200 , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA = AMDSMI_TEMPERATURE_TYPE_BASEBOARD_FIRST , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FRONT ,
  AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_BACK , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_OAM7 , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_IBC , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_UFPGA ,
  AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_OAM1 , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_0_1_HSC , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_2_3_HSC , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_4_5_HSC ,
  AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_6_7_HSC , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA_0V72_VR , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA_3V3_VR , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_0_1_2_3_1V2_VR ,
  AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_4_5_6_7_1V2_VR , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_0_1_0V9_VR , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_4_5_0V9_VR , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_2_3_0V9_VR ,
  AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_6_7_0V9_VR , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_0_1_2_3_3V3_VR , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_4_5_6_7_3V3_VR , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_IBC_HSC ,
  AMDSMI_TEMPERATURE_TYPE_BASEBOARD_IBC , AMDSMI_TEMPERATURE_TYPE_BASEBOARD_LAST = 249 , AMDSMI_TEMPERATURE_TYPE__MAX = AMDSMI_TEMPERATURE_TYPE_BASEBOARD_LAST
}
 This enumeration is used to indicate from which part of the processor a temperature reading should be obtained. More...
 
enum  amdsmi_temperature_metric_t {
  AMDSMI_TEMP_CURRENT = 0x0 , AMDSMI_TEMP_FIRST = AMDSMI_TEMP_CURRENT , AMDSMI_TEMP_MAX , AMDSMI_TEMP_MIN ,
  AMDSMI_TEMP_MAX_HYST , AMDSMI_TEMP_MIN_HYST , AMDSMI_TEMP_CRITICAL , AMDSMI_TEMP_CRITICAL_HYST ,
  AMDSMI_TEMP_EMERGENCY , AMDSMI_TEMP_EMERGENCY_HYST , AMDSMI_TEMP_CRIT_MIN , AMDSMI_TEMP_CRIT_MIN_HYST ,
  AMDSMI_TEMP_OFFSET , AMDSMI_TEMP_LOWEST , AMDSMI_TEMP_HIGHEST , AMDSMI_TEMP_SHUTDOWN ,
  AMDSMI_TEMP_LAST = AMDSMI_TEMP_SHUTDOWN
}
 Temperature Metrics. This enum is used to identify various temperature metrics. Corresponding values will be in Celcius. More...
 
enum  amdsmi_card_form_factor_t { AMDSMI_CARD_FORM_FACTOR_PCIE , AMDSMI_CARD_FORM_FACTOR_OAM , AMDSMI_CARD_FORM_FACTOR_CEM , AMDSMI_CARD_FORM_FACTOR_UNKNOWN }
 Card Form Factor. More...
 
enum  amdsmi_link_type_t {
  AMDSMI_LINK_TYPE_INTERNAL = 0 , AMDSMI_LINK_TYPE_PCIE = 1 , AMDSMI_LINK_TYPE_XGMI = 2 , AMDSMI_LINK_TYPE_NOT_APPLICABLE = 3 ,
  AMDSMI_LINK_TYPE_UNKNOWN = 4
}
 Link type. More...
 
enum  amdsmi_cache_property_type_t {
  AMDSMI_CACHE_PROPERTY_ENABLED = 0x00000001 , AMDSMI_CACHE_PROPERTY_DATA_CACHE = 0x00000002 , AMDSMI_CACHE_PROPERTY_INST_CACHE = 0x00000004 , AMDSMI_CACHE_PROPERTY_CPU_CACHE = 0x00000008 ,
  AMDSMI_CACHE_PROPERTY_SIMD_CACHE = 0x00000010
}
 cache properties More...
 
enum  amdsmi_gpu_block_t {
  AMDSMI_GPU_BLOCK_INVALID = 0 , AMDSMI_GPU_BLOCK_FIRST = (1ULL << 0) , AMDSMI_GPU_BLOCK_UMC = AMDSMI_GPU_BLOCK_FIRST , AMDSMI_GPU_BLOCK_SDMA = (1ULL << 1) ,
  AMDSMI_GPU_BLOCK_GFX = (1ULL << 2) , AMDSMI_GPU_BLOCK_MMHUB = (1ULL << 3) , AMDSMI_GPU_BLOCK_ATHUB = (1ULL << 4) , AMDSMI_GPU_BLOCK_PCIE_BIF = (1ULL << 5) ,
  AMDSMI_GPU_BLOCK_HDP = (1ULL << 6) , AMDSMI_GPU_BLOCK_XGMI_WAFL = (1ULL << 7) , AMDSMI_GPU_BLOCK_DF = (1ULL << 8) , AMDSMI_GPU_BLOCK_SMN = (1ULL << 9) ,
  AMDSMI_GPU_BLOCK_SEM = (1ULL << 10) , AMDSMI_GPU_BLOCK_MP0 = (1ULL << 11) , AMDSMI_GPU_BLOCK_MP1 = (1ULL << 12) , AMDSMI_GPU_BLOCK_FUSE = (1ULL << 13) ,
  AMDSMI_GPU_BLOCK_MCA = (1ULL << 14) , AMDSMI_GPU_BLOCK_VCN = (1ULL << 15) , AMDSMI_GPU_BLOCK_JPEG = (1ULL << 16) , AMDSMI_GPU_BLOCK_IH = (1ULL << 17) ,
  AMDSMI_GPU_BLOCK_MPIO = (1ULL << 18) , AMDSMI_GPU_BLOCK_LAST = AMDSMI_GPU_BLOCK_MPIO , AMDSMI_GPU_BLOCK_RESERVED = (1ULL << 63)
}
 This enum is used to identify different GPU blocks. More...
 
enum  amdsmi_fw_block_t {
  AMDSMI_FW_ID_SMU = 1 , AMDSMI_FW_ID_FIRST = AMDSMI_FW_ID_SMU , AMDSMI_FW_ID_CP_CE , AMDSMI_FW_ID_CP_PFP ,
  AMDSMI_FW_ID_CP_ME , AMDSMI_FW_ID_CP_MEC_JT1 , AMDSMI_FW_ID_CP_MEC_JT2 , AMDSMI_FW_ID_CP_MEC1 ,
  AMDSMI_FW_ID_CP_MEC2 , AMDSMI_FW_ID_RLC , AMDSMI_FW_ID_SDMA0 , AMDSMI_FW_ID_SDMA1 ,
  AMDSMI_FW_ID_SDMA2 , AMDSMI_FW_ID_SDMA3 , AMDSMI_FW_ID_SDMA4 , AMDSMI_FW_ID_SDMA5 ,
  AMDSMI_FW_ID_SDMA6 , AMDSMI_FW_ID_SDMA7 , AMDSMI_FW_ID_VCN , AMDSMI_FW_ID_UVD ,
  AMDSMI_FW_ID_VCE , AMDSMI_FW_ID_ISP , AMDSMI_FW_ID_DMCU_ERAM , AMDSMI_FW_ID_DMCU_ISR ,
  AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM , AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM , AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL , AMDSMI_FW_ID_RLC_V ,
  AMDSMI_FW_ID_MMSCH , AMDSMI_FW_ID_PSP_SYSDRV , AMDSMI_FW_ID_PSP_SOSDRV , AMDSMI_FW_ID_PSP_TOC ,
  AMDSMI_FW_ID_PSP_KEYDB , AMDSMI_FW_ID_DFC , AMDSMI_FW_ID_PSP_SPL , AMDSMI_FW_ID_DRV_CAP ,
  AMDSMI_FW_ID_MC , AMDSMI_FW_ID_PSP_BL , AMDSMI_FW_ID_CP_PM4 , AMDSMI_FW_ID_RLC_P ,
  AMDSMI_FW_ID_SEC_POLICY_STAGE2 , AMDSMI_FW_ID_REG_ACCESS_WHITELIST , AMDSMI_FW_ID_IMU_DRAM , AMDSMI_FW_ID_IMU_IRAM ,
  AMDSMI_FW_ID_SDMA_TH0 , AMDSMI_FW_ID_SDMA_TH1 , AMDSMI_FW_ID_CP_MES , AMDSMI_FW_ID_MES_KIQ ,
  AMDSMI_FW_ID_MES_STACK , AMDSMI_FW_ID_MES_THREAD1 , AMDSMI_FW_ID_MES_THREAD1_STACK , AMDSMI_FW_ID_RLX6 ,
  AMDSMI_FW_ID_RLX6_DRAM_BOOT , AMDSMI_FW_ID_RS64_ME , AMDSMI_FW_ID_RS64_ME_P0_DATA , AMDSMI_FW_ID_RS64_ME_P1_DATA ,
  AMDSMI_FW_ID_RS64_PFP , AMDSMI_FW_ID_RS64_PFP_P0_DATA , AMDSMI_FW_ID_RS64_PFP_P1_DATA , AMDSMI_FW_ID_RS64_MEC ,
  AMDSMI_FW_ID_RS64_MEC_P0_DATA , AMDSMI_FW_ID_RS64_MEC_P1_DATA , AMDSMI_FW_ID_RS64_MEC_P2_DATA , AMDSMI_FW_ID_RS64_MEC_P3_DATA ,
  AMDSMI_FW_ID_PPTABLE , AMDSMI_FW_ID_PSP_SOC , AMDSMI_FW_ID_PSP_DBG , AMDSMI_FW_ID_PSP_INTF ,
  AMDSMI_FW_ID_RLX6_CORE1 , AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1 , AMDSMI_FW_ID_RLCV_LX7 , AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST ,
  AMDSMI_FW_ID_ASD , AMDSMI_FW_ID_TA_RAS , AMDSMI_FW_ID_TA_XGMI , AMDSMI_FW_ID_XGMI ,
  AMDSMI_FW_ID_RLC_SRLG , AMDSMI_FW_ID_RLC_SRLS , AMDSMI_FW_ID_PM , AMDSMI_FW_ID_SMC ,
  AMDSMI_FW_ID_DMCU , AMDSMI_FW_ID_PSP_RAS , AMDSMI_FW_ID_P2S_TABLE , AMDSMI_FW_ID_PLDM_BUNDLE ,
  AMDSMI_FW_ID__MAX
}
 The values of this enum are used to identify the various firmware blocks. More...
 
enum  amdsmi_virtualization_mode_t {
  AMDSMI_VIRTUALIZATION_MODE_UNKNOWN = 0 , AMDSMI_VIRTUALIZATION_MODE_BAREMETAL , AMDSMI_VIRTUALIZATION_MODE_HOST , AMDSMI_VIRTUALIZATION_MODE_GUEST ,
  AMDSMI_VIRTUALIZATION_MODE_PASSTHROUGH
}
 Variant placeholder. More...
 
enum  amdsmi_affinity_scope_t { AMDSMI_AFFINITY_SCOPE_NODE , AMDSMI_AFFINITY_SCOPE_SOCKET }
 Scope for Numa affinity or Socket affinity. More...
 
enum  amdsmi_link_status_t { AMDSMI_LINK_STATUS_ENABLED = 0 , AMDSMI_LINK_STATUS_DISABLED = 1 , AMDSMI_LINK_STATUS_INACTIVE = 2 , AMDSMI_LINK_STATUS_ERROR = 3 }
 Link Status.
 
enum  amdsmi_cper_sev_t {
  AMDSMI_CPER_SEV_NON_FATAL_UNCORRECTED = 0 , AMDSMI_CPER_SEV_FATAL = 1 , AMDSMI_CPER_SEV_NON_FATAL_CORRECTED = 2 , AMDSMI_CPER_SEV_NUM = 3 ,
  AMDSMI_CPER_SEV_UNUSED = 10
}
 Cper sev. More...
 
enum  amdsmi_cper_notify_type_t {
  AMDSMI_CPER_NOTIFY_TYPE_CMC = 0x450eBDD72DCE8BB1 , AMDSMI_CPER_NOTIFY_TYPE_CPE = 0x4a55D8434E292F96 , AMDSMI_CPER_NOTIFY_TYPE_MCE = 0x4cc5919CE8F56FFE , AMDSMI_CPER_NOTIFY_TYPE_PCIE = 0x4dfc1A16CF93C01F ,
  AMDSMI_CPER_NOTIFY_TYPE_INIT = 0x454a9308CC5263E8 , AMDSMI_CPER_NOTIFY_TYPE_NMI = 0x42c9B7E65BAD89FF , AMDSMI_CPER_NOTIFY_TYPE_BOOT = 0x409aAB403D61A466 , AMDSMI_CPER_NOTIFY_TYPE_DMAR = 0x4c27C6B3667DD791 ,
  AMDSMI_CPER_NOTIFY_TYPE_SEA = 0x11E4BBE89A78788A , AMDSMI_CPER_NOTIFY_TYPE_SEI = 0x4E87B0AE5C284C81 , AMDSMI_CPER_NOTIFY_TYPE_PEI = 0x4214520409A9D5AC , AMDSMI_CPER_NOTIFY_TYPE_CXL_COMPONENT = 0x49A341DF69293BC9
}
 Cper notify. More...
 
enum  amdsmi_event_category_t {
  AMDSMI_EVENT_CATEGORY_NON_USED = 0 , AMDSMI_EVENT_CATEGORY_DRIVER = 1 , AMDSMI_EVENT_CATEGORY_RESET = 2 , AMDSMI_EVENT_CATEGORY_SCHED = 3 ,
  AMDSMI_EVENT_CATEGORY_VBIOS = 4 , AMDSMI_EVENT_CATEGORY_ECC = 5 , AMDSMI_EVENT_CATEGORY_PP = 6 , AMDSMI_EVENT_CATEGORY_IOV = 7 ,
  AMDSMI_EVENT_CATEGORY_VF = 8 , AMDSMI_EVENT_CATEGORY_FW = 9 , AMDSMI_EVENT_CATEGORY_GPU = 10 , AMDSMI_EVENT_CATEGORY_GUARD = 11 ,
  AMDSMI_EVENT_CATEGORY_GPUMON = 12 , AMDSMI_EVENT_CATEGORY_MMSCH = 13 , AMDSMI_EVENT_CATEGORY_XGMI = 14 , AMDSMI_EVENT_CATEGORY__MAX
}
 Event Category.
 
enum  amdsmi_event_gpu_t {
  AMDSMI_EVENT_GPU_DEVICE_LOST = 0 , AMDSMI_EVENT_GPU_NOT_SUPPORTED , AMDSMI_EVENT_GPU_RMA , AMDSMI_EVENT_GPU_NOT_INITIALIZED ,
  AMDSMI_EVENT_GPU_MMSCH_ABNORMAL_STATE , AMDSMI_EVENT_GPU_RLCV_ABNORMAL_STATE , AMDSMI_EVENT_GPU_SDMA_ENGINE_BUSY , AMDSMI_EVENT_GPU_RLC_ENGINE_BUSY ,
  AMDSMI_EVENT_GPU_GC_ENGINE_BUSY , AMDSMI_EVENT_GPU__MAX
}
 Below are the error subcodes of each category.
 
enum  amdsmi_event_driver_t {
  AMDSMI_EVENT_DRIVER_SPIN_LOCK_BUSY = 0 , AMDSMI_EVENT_DRIVER_ALLOC_SYSTEM_MEM_FAIL , AMDSMI_EVENT_DRIVER_CREATE_GFX_WORKQUEUE_FAIL , AMDSMI_EVENT_DRIVER_CREATE_MM_WORKQUEUE_FAIL ,
  AMDSMI_EVENT_DRIVER_BUFFER_OVERFLOW , AMDSMI_EVENT_DRIVER_DEV_INIT_FAIL , AMDSMI_EVENT_DRIVER_CREATE_THREAD_FAIL , AMDSMI_EVENT_DRIVER_NO_ACCESS_PCI_REGION ,
  AMDSMI_EVENT_DRIVER_MMIO_FAIL , AMDSMI_EVENT_DRIVER_INTERRUPT_INIT_FAIL , AMDSMI_EVENT_DRIVER_INVALID_VALUE , AMDSMI_EVENT_DRIVER_CREATE_MUTEX_FAIL ,
  AMDSMI_EVENT_DRIVER_CREATE_TIMER_FAIL , AMDSMI_EVENT_DRIVER_CREATE_EVENT_FAIL , AMDSMI_EVENT_DRIVER_CREATE_SPIN_LOCK_FAIL , AMDSMI_EVENT_DRIVER_ALLOC_FB_MEM_FAIL ,
  AMDSMI_EVENT_DRIVER_ALLOC_DMA_MEM_FAIL , AMDSMI_EVENT_DRIVER_NO_FB_MANAGER , AMDSMI_EVENT_DRIVER_HW_INIT_FAIL , AMDSMI_EVENT_DRIVER_SW_INIT_FAIL ,
  AMDSMI_EVENT_DRIVER_INIT_CONFIG_ERROR , AMDSMI_EVENT_DRIVER_ERROR_LOGGING_FAILED , AMDSMI_EVENT_DRIVER_CREATE_RWLOCK_FAIL , AMDSMI_EVENT_DRIVER_CREATE_RWSEMA_FAIL ,
  AMDSMI_EVENT_DRIVER_GET_READ_LOCK_FAIL , AMDSMI_EVENT_DRIVER_GET_WRITE_LOCK_FAIL , AMDSMI_EVENT_DRIVER_GET_READ_SEMA_FAIL , AMDSMI_EVENT_DRIVER_GET_WRITE_SEMA_FAIL ,
  AMDSMI_EVENT_DRIVER_DIAG_DATA_INIT_FAIL , AMDSMI_EVENT_DRIVER_DIAG_DATA_MEM_REQ_FAIL , AMDSMI_EVENT_DRIVER_DIAG_DATA_VADDR_REQ_FAIL , AMDSMI_EVENT_DRIVER_DIAG_DATA_BUS_ADDR_REQ_FAIL ,
  AMDSMI_EVENT_DRIVER_REMOTE_DEBUG_INIT_FAIL , AMDSMI_EVENT_DRIVER_REMOTE_DEBUG_MEM_REQ_FAIL , AMDSMI_EVENT_DRIVER_REMOTE_DEBUG_VADDR_REQ_FAIL , AMDSMI_EVENT_DRIVER_REMOTE_DEBUG_BUS_ADDR_REQ_FAIL ,
  AMDSMI_EVENT_DRIVER_HRTIMER_START_FAIL , AMDSMI_EVENT_DRIVER_CREATE_DRIVER_FILE_FAIL , AMDSMI_EVENT_DRIVER_CREATE_DEVICE_FILE_FAIL , AMDSMI_EVENT_DRIVER_CREATE_DEBUGFS_FILE_FAIL ,
  AMDSMI_EVENT_DRIVER_CREATE_DEBUGFS_DIR_FAIL , AMDSMI_EVENT_DRIVER_PCI_ENABLE_DEVICE_FAIL , AMDSMI_EVENT_DRIVER_FB_MAP_FAIL , AMDSMI_EVENT_DRIVER_DOORBELL_MAP_FAIL ,
  AMDSMI_EVENT_DRIVER_PCI_REGISTER_DRIVER_FAIL , AMDSMI_EVENT_DRIVER_ALLOC_IOVA_ALIGN_FAIL , AMDSMI_EVENT_DRIVER_ROM_MAP_FAIL , AMDSMI_EVENT_DRIVER_FULL_ACCESS_TIMEOUT ,
  AMDSMI_EVENT_DRIVER__MAX
}
 Event Driver.
 
enum  amdsmi_event_fw_t {
  AMDSMI_EVENT_FW_CMD_ALLOC_BUF_FAIL = 0 , AMDSMI_EVENT_FW_CMD_BUF_PREP_FAIL , AMDSMI_EVENT_FW_RING_INIT_FAIL , AMDSMI_EVENT_FW_FW_APPLY_SECURITY_POLICY_FAIL ,
  AMDSMI_EVENT_FW_START_RING_FAIL , AMDSMI_EVENT_FW_FW_LOAD_FAIL , AMDSMI_EVENT_FW_EXIT_FAIL , AMDSMI_EVENT_FW_INIT_FAIL ,
  AMDSMI_EVENT_FW_CMD_SUBMIT_FAIL , AMDSMI_EVENT_FW_CMD_FENCE_WAIT_FAIL , AMDSMI_EVENT_FW_TMR_LOAD_FAIL , AMDSMI_EVENT_FW_TOC_LOAD_FAIL ,
  AMDSMI_EVENT_FW_RAS_LOAD_FAIL , AMDSMI_EVENT_FW_RAS_UNLOAD_FAIL , AMDSMI_EVENT_FW_RAS_TA_INVOKE_FAIL , AMDSMI_EVENT_FW_RAS_TA_ERR_INJECT_FAIL ,
  AMDSMI_EVENT_FW_ASD_LOAD_FAIL , AMDSMI_EVENT_FW_ASD_UNLOAD_FAIL , AMDSMI_EVENT_FW_AUTOLOAD_FAIL , AMDSMI_EVENT_FW_VFGATE_FAIL ,
  AMDSMI_EVENT_FW_XGMI_LOAD_FAIL , AMDSMI_EVENT_FW_XGMI_UNLOAD_FAIL , AMDSMI_EVENT_FW_XGMI_TA_INVOKE_FAIL , AMDSMI_EVENT_FW_TMR_INIT_FAIL ,
  AMDSMI_EVENT_FW_NOT_SUPPORTED_FEATURE , AMDSMI_EVENT_FW_GET_PSP_TRACELOG_FAIL , AMDSMI_EVENT_FW_SET_SNAPSHOT_ADDR_FAIL , AMDSMI_EVENT_FW_SNAPSHOT_TRIGGER_FAIL ,
  AMDSMI_EVENT_FW_MIGRATION_GET_PSP_INFO_FAIL , AMDSMI_EVENT_FW_MIGRATION_EXPORT_FAIL , AMDSMI_EVENT_FW_MIGRATION_IMPORT_FAIL , AMDSMI_EVENT_FW_BL_FAIL ,
  AMDSMI_EVENT_FW_RAS_BOOT_FAIL , AMDSMI_EVENT_FW_MAILBOX_ERROR , AMDSMI_EVENT_FW__MAX
}
 Event Firmware.
 
enum  amdsmi_event_reset_t {
  AMDSMI_EVENT_RESET_GPU = 0 , AMDSMI_EVENT_RESET_GPU_FAILED , AMDSMI_EVENT_RESET_FLR , AMDSMI_EVENT_RESET_FLR_FAILED ,
  AMDSMI_EVENT_RESET__MAX
}
 Event Reset.
 
enum  amdsmi_event_iov_t {
  AMDSMI_EVENT_IOV_NO_GPU_IOV_CAP = 0 , AMDSMI_EVENT_IOV_ASIC_NO_SRIOV_SUPPORT , AMDSMI_EVENT_IOV_ENABLE_SRIOV_FAIL , AMDSMI_EVENT_IOV_CMD_TIMEOUT ,
  AMDSMI_EVENT_IOV_CMD_ERROR , AMDSMI_EVENT_IOV_INIT_IV_RING_FAIL , AMDSMI_EVENT_IOV_SRIOV_STRIDE_ERROR , AMDSMI_EVENT_IOV_WS_SAVE_TIMEOUT ,
  AMDSMI_EVENT_IOV_WS_IDLE_TIMEOUT , AMDSMI_EVENT_IOV_WS_RUN_TIMEOUT , AMDSMI_EVENT_IOV_WS_LOAD_TIMEOUT , AMDSMI_EVENT_IOV_WS_SHUTDOWN_TIMEOUT ,
  AMDSMI_EVENT_IOV_WS_ALREADY_SHUTDOWN , AMDSMI_EVENT_IOV_WS_INFINITE_LOOP , AMDSMI_EVENT_IOV_WS_REENTRANT_ERROR , AMDSMI_EVENT_IOV__MAX
}
 Event IOV.
 
enum  amdsmi_event_ecc_t {
  AMDSMI_EVENT_ECC_UCE = 0 , AMDSMI_EVENT_ECC_CE , AMDSMI_EVENT_ECC_IN_PF_FB , AMDSMI_EVENT_ECC_IN_CRI_REG ,
  AMDSMI_EVENT_ECC_IN_VF_CRI , AMDSMI_EVENT_ECC_REACH_THD , AMDSMI_EVENT_ECC_VF_CE , AMDSMI_EVENT_ECC_VF_UE ,
  AMDSMI_EVENT_ECC_IN_SAME_ROW , AMDSMI_EVENT_ECC_UMC_UE , AMDSMI_EVENT_ECC_GFX_CE , AMDSMI_EVENT_ECC_GFX_UE ,
  AMDSMI_EVENT_ECC_SDMA_CE , AMDSMI_EVENT_ECC_SDMA_UE , AMDSMI_EVENT_ECC_GFX_CE_TOTAL , AMDSMI_EVENT_ECC_GFX_UE_TOTAL ,
  AMDSMI_EVENT_ECC_SDMA_CE_TOTAL , AMDSMI_EVENT_ECC_SDMA_UE_TOTAL , AMDSMI_EVENT_ECC_UMC_CE_TOTAL , AMDSMI_EVENT_ECC_UMC_UE_TOTAL ,
  AMDSMI_EVENT_ECC_MMHUB_CE , AMDSMI_EVENT_ECC_MMHUB_UE , AMDSMI_EVENT_ECC_MMHUB_CE_TOTAL , AMDSMI_EVENT_ECC_MMHUB_UE_TOTAL ,
  AMDSMI_EVENT_ECC_XGMI_WAFL_CE , AMDSMI_EVENT_ECC_XGMI_WAFL_UE , AMDSMI_EVENT_ECC_XGMI_WAFL_CE_TOTAL , AMDSMI_EVENT_ECC_XGMI_WAFL_UE_TOTAL ,
  AMDSMI_EVENT_ECC_FATAL_ERROR , AMDSMI_EVENT_ECC_POISON_CONSUMPTION , AMDSMI_EVENT_ECC_ACA_DUMP , AMDSMI_EVENT_ECC_WRONG_SOCKET_ID ,
  AMDSMI_EVENT_ECC_ACA_UNKNOWN_BLOCK_INSTANCE , AMDSMI_EVENT_ECC_UNKNOWN_CHIPLET_CE , AMDSMI_EVENT_ECC_UNKNOWN_CHIPLET_UE , AMDSMI_EVENT_ECC_UMC_CHIPLET_CE ,
  AMDSMI_EVENT_ECC_UMC_CHIPLET_UE , AMDSMI_EVENT_ECC_GFX_CHIPLET_CE , AMDSMI_EVENT_ECC_GFX_CHIPLET_UE , AMDSMI_EVENT_ECC_SDMA_CHIPLET_CE ,
  AMDSMI_EVENT_ECC_SDMA_CHIPLET_UE , AMDSMI_EVENT_ECC_MMHUB_CHIPLET_CE , AMDSMI_EVENT_ECC_MMHUB_CHIPLET_UE , AMDSMI_EVENT_ECC_XGMI_WAFL_CHIPLET_CE ,
  AMDSMI_EVENT_ECC_XGMI_WAFL_CHIPLET_UE , AMDSMI_EVENT_ECC_EEPROM_ENTRIES_FOUND , AMDSMI_EVENT_ECC_UMC_DE , AMDSMI_EVENT_ECC_UMC_DE_TOTAL ,
  AMDSMI_EVENT_ECC_UNKNOWN , AMDSMI_EVENT_ECC_EEPROM_REACH_THD , AMDSMI_EVENT_ECC_UMC_CHIPLET_DE , AMDSMI_EVENT_ECC_UNKNOWN_CHIPLET_DE ,
  AMDSMI_EVENT_ECC_EEPROM_CHK_MISMATCH , AMDSMI_EVENT_ECC_EEPROM_RESET , AMDSMI_EVENT_ECC_EEPROM_RESET_FAILED , AMDSMI_EVENT_ECC_EEPROM_APPEND ,
  AMDSMI_EVENT_ECC_THD_CHANGED , AMDSMI_EVENT_ECC_DUP_ENTRIES , AMDSMI_EVENT_ECC_EEPROM_WRONG_HDR , AMDSMI_EVENT_ECC_EEPROM_WRONG_VER ,
  AMDSMI_EVENT_ECC__MAX
}
 Event ECC.
 
enum  amdsmi_event_pp_t {
  AMDSMI_EVENT_PP_SET_DPM_POLICY_FAIL = 0 , AMDSMI_EVENT_PP_ACTIVATE_DPM_POLICY_FAIL , AMDSMI_EVENT_PP_I2C_SLAVE_NOT_PRESENT , AMDSMI_EVENT_PP_THROTTLER_EVENT ,
  AMDSMI_EVENT_PP__MAX
}
 Event PP.
 
enum  amdsmi_event_sched_t {
  AMDSMI_EVENT_SCHED_WORLD_SWITCH_FAIL = 0 , AMDSMI_EVENT_SCHED_DISABLE_AUTO_HW_SWITCH_FAIL , AMDSMI_EVENT_SCHED_ENABLE_AUTO_HW_SWITCH_FAIL , AMDSMI_EVENT_SCHED_GFX_SAVE_REG_FAIL ,
  AMDSMI_EVENT_SCHED_GFX_IDLE_REG_FAIL , AMDSMI_EVENT_SCHED_GFX_RUN_REG_FAIL , AMDSMI_EVENT_SCHED_GFX_LOAD_REG_FAIL , AMDSMI_EVENT_SCHED_GFX_INIT_REG_FAIL ,
  AMDSMI_EVENT_SCHED_MM_SAVE_REG_FAIL , AMDSMI_EVENT_SCHED_MM_IDLE_REG_FAIL , AMDSMI_EVENT_SCHED_MM_RUN_REG_FAIL , AMDSMI_EVENT_SCHED_MM_LOAD_REG_FAIL ,
  AMDSMI_EVENT_SCHED_MM_INIT_REG_FAIL , AMDSMI_EVENT_SCHED_INIT_GPU_FAIL , AMDSMI_EVENT_SCHED_RUN_GPU_FAIL , AMDSMI_EVENT_SCHED_SAVE_GPU_STATE_FAIL ,
  AMDSMI_EVENT_SCHED_LOAD_GPU_STATE_FAIL , AMDSMI_EVENT_SCHED_IDLE_GPU_FAIL , AMDSMI_EVENT_SCHED_FINI_GPU_FAIL , AMDSMI_EVENT_SCHED_DEAD_VF ,
  AMDSMI_EVENT_SCHED_EVENT_QUEUE_FULL , AMDSMI_EVENT_SCHED_SHUTDOWN_VF_FAIL , AMDSMI_EVENT_SCHED_RESET_VF_NUM_FAIL , AMDSMI_EVENT_SCHED_IGNORE_EVENT ,
  AMDSMI_EVENT_SCHED_PF_SWITCH_FAIL , AMDSMI_EVENT_SCHED__MAX
}
 Event Schedule.
 
enum  amdsmi_event_vf_max_t {
  AMDSMI_EVENT_VF_ATOMBIOS_INIT_FAIL = 0 , AMDSMI_EVENT_VF_NO_VBIOS , AMDSMI_EVENT_VF_GPU_POST_ERROR , AMDSMI_EVENT_VF_ATOMBIOS_GET_CLOCK_FAIL ,
  AMDSMI_EVENT_VF_FENCE_INIT_FAIL , AMDSMI_EVENT_VF_AMDGPU_INIT_FAIL , AMDSMI_EVENT_VF_IB_INIT_FAIL , AMDSMI_EVENT_VF_AMDGPU_LATE_INIT_FAIL ,
  AMDSMI_EVENT_VF_ASIC_RESUME_FAIL , AMDSMI_EVENT_VF_GPU_RESET_FAIL , AMDSMI_EVENT_VF__MAX
}
 Event VF.
 
enum  amdsmi_event_vbios_t {
  AMDSMI_EVENT_VBIOS_INVALID = 0 , AMDSMI_EVENT_VBIOS_IMAGE_MISSING , AMDSMI_EVENT_VBIOS_CHECKSUM_ERR , AMDSMI_EVENT_VBIOS_POST_FAIL ,
  AMDSMI_EVENT_VBIOS_READ_FAIL , AMDSMI_EVENT_VBIOS_READ_IMG_HEADER_FAIL , AMDSMI_EVENT_VBIOS_READ_IMG_SIZE_FAIL , AMDSMI_EVENT_VBIOS_GET_FW_INFO_FAIL ,
  AMDSMI_EVENT_VBIOS_GET_TBL_REVISION_FAIL , AMDSMI_EVENT_VBIOS_PARSER_TBL_FAIL , AMDSMI_EVENT_VBIOS_IP_DISCOVERY_FAIL , AMDSMI_EVENT_VBIOS_TIMEOUT ,
  AMDSMI_EVENT_VBIOS_HASH_INVALID , AMDSMI_EVENT_VBIOS_HASH_UPDATED , AMDSMI_EVENT_VBIOS_IP_DISCOVERY_BINARY_CHECKSUM_FAIL , AMDSMI_EVENT_VBIOS_IP_DISCOVERY_TABLE_CHECKSUM_FAIL ,
  AMDSMI_EVENT_VBIOS__MAX
}
 Event VBios.
 
enum  amdsmi_event_guard_t { AMDSMI_EVENT_GUARD_RESET_FAIL = 0 , AMDSMI_EVENT_GUARD_EVENT_OVERFLOW , AMDSMI_EVENT_GUARD__MAX }
 Event Guard.
 
enum  amdsmi_event_gpumon_t {
  AMDSMI_EVENT_GPUMON_INVALID_OPTION = 0 , AMDSMI_EVENT_GPUMON_INVALID_VF_INDEX , AMDSMI_EVENT_GPUMON_INVALID_FB_SIZE , AMDSMI_EVENT_GPUMON_NO_SUITABLE_SPACE ,
  AMDSMI_EVENT_GPUMON_NO_AVAILABLE_SLOT , AMDSMI_EVENT_GPUMON_OVERSIZE_ALLOCATION , AMDSMI_EVENT_GPUMON_OVERLAPPING_FB , AMDSMI_EVENT_GPUMON_INVALID_GFX_TIMESLICE ,
  AMDSMI_EVENT_GPUMON_INVALID_MM_TIMESLICE , AMDSMI_EVENT_GPUMON_INVALID_GFX_PART , AMDSMI_EVENT_GPUMON_VF_BUSY , AMDSMI_EVENT_GPUMON_INVALID_VF_NUM ,
  AMDSMI_EVENT_GPUMON_NOT_SUPPORTED , AMDSMI_EVENT_GPUMON__MAX
}
 Event GPU Monitor.
 
enum  amdsmi_event_mmsch_t { AMDSMI_EVENT_MMSCH_IGNORED_JOB = 0 , AMDSMI_EVENT_MMSCH_UNSUPPORTED_VCN_FW , AMDSMI_EVENT_MMSCH__MAX }
 Event MM Schedule.
 
enum  amdsmi_event_xgmi_t {
  AMDSMI_EVENT_XGMI_TOPOLOGY_UPDATE_FAILED = 0 , AMDSMI_EVENT_XGMI_TOPOLOGY_HW_INIT_UPDATE , AMDSMI_EVENT_XGMI_TOPOLOGY_UPDATE_DONE , AMDSMI_EVENT_XGMI_FB_SHARING_SETTING_ERROR ,
  AMDSMI_EVENT_XGMI_FB_SHARING_SETTING_RESET , AMDSMI_EVENT_XGMI__MAX
}
 Event XGMI.
 
enum  amdsmi_pp_throttler_type_t { AMDSMI_EVENT_THROTTLER_PROCHOT = (1 << 0) , AMDSMI_EVENT_THROTTLER_SOCKET = (1 << 2) , AMDSMI_EVENT_THROTTLER_VR = (1 << 3) , AMDSMI_EVENT_THROTTLER_HBM = (1 << 4) }
 This enum represents bit mask positions for PP Throttler events. More...
 
enum  amdsmi_ecc_correction_schema_support_t { AMDSMI_RAS_ECC_SUPPORT_PARITY = (1 << 0) , AMDSMI_RAS_ECC_SUPPORT_CORRECTABLE = (1 << 1) , AMDSMI_RAS_ECC_SUPPORT_UNCORRECTABLE = (1 << 2) , AMDSMI_RAS_ECC_SUPPORT_POISON = (1 << 3) }
 The values of this enum are used to identify supported ecc correction schema.
 
enum  amdsmi_guest_fw_engine_id_t {
  AMDSMI_GUEST_FW_ID_VCE = 0 , AMDSMI_GUEST_FW_ID_UVD , AMDSMI_GUEST_FW_ID_MC , AMDSMI_GUEST_FW_ID_ME ,
  AMDSMI_GUEST_FW_ID_PFP , AMDSMI_GUEST_FW_ID_CE , AMDSMI_GUEST_FW_ID_RLC , AMDSMI_GUEST_FW_ID_RLC_SRLC ,
  AMDSMI_GUEST_FW_ID_RLC_SRLG , AMDSMI_GUEST_FW_ID_RLC_SRLS , AMDSMI_GUEST_FW_ID_MEC , AMDSMI_GUEST_FW_ID_MEC2 ,
  AMDSMI_GUEST_FW_ID_SOS , AMDSMI_GUEST_FW_ID_ASD , AMDSMI_GUEST_FW_ID_TA_RAS , AMDSMI_GUEST_FW_ID_TA_XGMI ,
  AMDSMI_GUEST_FW_ID_SMC , AMDSMI_GUEST_FW_ID_SDMA , AMDSMI_GUEST_FW_ID_SDMA2 , AMDSMI_GUEST_FW_ID_VCN ,
  AMDSMI_GUEST_FW_ID_DMCU , AMDSMI_GUEST_FW_ID__MAX
}
 The values of this enum are used to identify the various firmware blocks.
 
enum  amdsmi_vf_config_flags_t {
  AMDSMI_VF_CONFIG_FB_SIZE_SET = 0 , AMDSMI_VF_CONFIG_FB_OFFSET_SET , AMDSMI_VF_CONFIG_GFX_TIMESLICE_US_SET , AMDSMI_VF_CONFIG_ENG_COMPUTE_BW_SET ,
  AMDSMI_VF_CONFIG_GUARD_THRESHOLD_FLR_SET , AMDSMI_VF_CONFIG_GUARD_THRESHOLD_EXCL_MOD_SET , AMDSMI_VF_CONFIG_GUARD_THRESHOLD_EXCL_TIMEOUT_SET , AMDSMI_VF_CONFIG_GUARD_THRESHOLD_ALL_INT_SET ,
  AMDSMI_VF_CONFIG_ENG_ENCODE_BW_UVD_SET , AMDSMI_VF_CONFIG_ENG_ENCODE_BW_VCE_SET , AMDSMI_VF_CONFIG_ENG_ENCODE_BW_UVD1_SET , AMDSMI_VF_CONFIG_ENG_ENCODE_BW_VCN_SET ,
  AMDSMI_VF_CONFIG_ENG_ENCODE_BW_VCN1_SET , AMDSMI_VF_CONFIG__MAX
}
 VF Config Flags.
 
enum  amdsmi_vf_sched_state_t {
  AMDSMI_VF_STATE_UNAVAILABLE , AMDSMI_VF_STATE_AVAILABLE , AMDSMI_VF_STATE_ACTIVE , AMDSMI_VF_STATE_SUSPENDED ,
  AMDSMI_VF_STATE_FULLACCESS , AMDSMI_VF_STATE_DEFAULT_AVAILABLE
}
 VF Schedule State.
 
enum  amdsmi_guard_type_t {
  AMDSMI_GUARD_EVENT_FLR , AMDSMI_GUARD_EVENT_EXCLUSIVE_MOD , AMDSMI_GUARD_EVENT_EXCLUSIVE_TIMEOUT , AMDSMI_GUARD_EVENT_ALL_INT ,
  AMDSMI_GUARD_EVENT_RAS_ERR_COUNT , AMDSMI_GUARD_EVENT_RAS_CPER_DUMP , AMDSMI_GUARD_EVENT_RAS_BAD_PAGES , AMDSMI_GUARD_EVENT__MAX
}
 Guard Event.
 
enum  amdsmi_driver_t {
  AMDSMI_DRIVER_LIBGV , AMDSMI_DRIVER_KMD , AMDSMI_DRIVER_AMDGPUV , AMDSMI_DRIVER_AMDGPU ,
  AMDSMI_DRIVER_VMWGPUV , AMDSMI_DRIVER__MAX
}
 Driver.
 
enum  amdsmi_guard_state_t { AMDSMI_GUARD_STATE_NORMAL = 0 , AMDSMI_GUARD_STATE_FULL = 1 , AMDSMI_GUARD_STATE_OVERFLOW = 2 }
 Guard State.
 
enum  amdsmi_sched_block_t {
  AMDSMI_SCHED_BLOCK_GFX = 0x0 , AMDSMI_SCHED_BLOCK_UVD = 0x1 , AMDSMI_SCHED_BLOCK_VCE = 0x2 , AMDSMI_SCHED_BLOCK_UVD1 = 0x3 ,
  AMDSMI_SCHED_BLOCK_VCN = 0x4 , AMDSMI_SCHED_BLOCK_VCN1 = 0x5
}
 Schedule Block.
 
enum  amdsmi_guest_fw_load_status_t {
  AMDSMI_GUEST_FW_LOAD_STATUS_OK = 0 , AMDSMI_GUEST_FW_LOAD_STATUS_OBSOLETE_FW = 1 , AMDSMI_GUEST_FW_LOAD_STATUS_BAD_SIG = 2 , AMDSMI_GUEST_FW_LOAD_STATUS_FW_LOAD_FAIL = 3 ,
  AMDSMI_GUEST_FW_LOAD_STATUS_ERR_GENERIC = 4
}
 Guest firmware load status.
 
enum  amdsmi_xgmi_fb_sharing_mode_t {
  AMDSMI_XGMI_FB_SHARING_MODE_CUSTOM = 0 , AMDSMI_XGMI_FB_SHARING_MODE_1 = 1 , AMDSMI_XGMI_FB_SHARING_MODE_2 = 2 , AMDSMI_XGMI_FB_SHARING_MODE_4 = 4 ,
  AMDSMI_XGMI_FB_SHARING_MODE_8 = 8 , AMDSMI_XGMI_FB_SHARING_MODE_UNKNOWN = 0xFFFFFFFF
}
 XGMI FB Sharing Mode.
 
enum  amdsmi_profile_capability_type_t {
  AMDSMI_PROFILE_CAPABILITY_MEMORY = 0 , AMDSMI_PROFILE_CAPABILITY_ENCODE = 1 , AMDSMI_PROFILE_CAPABILITY_DECODE = 2 , AMDSMI_PROFILE_CAPABILITY_COMPUTE = 3 ,
  AMDSMI_PROFILE_CAPABILITY__MAX
}
 Profile Capability. More...
 
enum  amdsmi_metric_category_t {
  AMDSMI_METRIC_CATEGORY_ACC_COUNTER , AMDSMI_METRIC_CATEGORY_FREQUENCY , AMDSMI_METRIC_CATEGORY_ACTIVITY , AMDSMI_METRIC_CATEGORY_TEMPERATURE ,
  AMDSMI_METRIC_CATEGORY_POWER , AMDSMI_METRIC_CATEGORY_ENERGY , AMDSMI_METRIC_CATEGORY_THROTTLE , AMDSMI_METRIC_CATEGORY_PCIE ,
  AMDSMI_METRIC_CATEGORY_STATIC , AMDSMI_METRIC_CATEGORY_SYS_ACC_COUNTER , AMDSMI_METRIC_CATEGORY_SYS_BASEBOARD_TEMP , AMDSMI_METRIC_CATEGORY_SYS_GPUBOARD_TEMP ,
  AMDSMI_METRIC_CATEGORY_UNKNOWN
}
 Metric Category.
 
enum  amdsmi_metric_name_t {
  AMDSMI_METRIC_NAME_METRIC_ACC_COUNTER , AMDSMI_METRIC_NAME_FW_TIMESTAMP , AMDSMI_METRIC_NAME_CLK_GFX , AMDSMI_METRIC_NAME_CLK_SOC ,
  AMDSMI_METRIC_NAME_CLK_MEM , AMDSMI_METRIC_NAME_CLK_VCLK , AMDSMI_METRIC_NAME_CLK_DCLK , AMDSMI_METRIC_NAME_USAGE_GFX ,
  AMDSMI_METRIC_NAME_USAGE_MEM , AMDSMI_METRIC_NAME_USAGE_MM , AMDSMI_METRIC_NAME_USAGE_VCN , AMDSMI_METRIC_NAME_USAGE_JPEG ,
  AMDSMI_METRIC_NAME_VOLT_GFX , AMDSMI_METRIC_NAME_VOLT_SOC , AMDSMI_METRIC_NAME_VOLT_MEM , AMDSMI_METRIC_NAME_TEMP_HOTSPOT_CURR ,
  AMDSMI_METRIC_NAME_TEMP_HOTSPOT_LIMIT , AMDSMI_METRIC_NAME_TEMP_MEM_CURR , AMDSMI_METRIC_NAME_TEMP_MEM_LIMIT , AMDSMI_METRIC_NAME_TEMP_VR_CURR ,
  AMDSMI_METRIC_NAME_TEMP_SHUTDOWN , AMDSMI_METRIC_NAME_POWER_CURR , AMDSMI_METRIC_NAME_POWER_LIMIT , AMDSMI_METRIC_NAME_ENERGY_SOCKET ,
  AMDSMI_METRIC_NAME_ENERGY_CCD , AMDSMI_METRIC_NAME_ENERGY_XCD , AMDSMI_METRIC_NAME_ENERGY_AID , AMDSMI_METRIC_NAME_ENERGY_MEM ,
  AMDSMI_METRIC_NAME_THROTTLE_SOCKET_ACTIVE , AMDSMI_METRIC_NAME_THROTTLE_VR_ACTIVE , AMDSMI_METRIC_NAME_THROTTLE_MEM_ACTIVE , AMDSMI_METRIC_NAME_PCIE_BANDWIDTH ,
  AMDSMI_METRIC_NAME_PCIE_L0_TO_RECOVERY_COUNT , AMDSMI_METRIC_NAME_PCIE_REPLAY_COUNT , AMDSMI_METRIC_NAME_PCIE_REPLAY_ROLLOVER_COUNT , AMDSMI_METRIC_NAME_PCIE_NAK_SENT_COUNT ,
  AMDSMI_METRIC_NAME_PCIE_NAK_RECEIVED_COUNT , AMDSMI_METRIC_NAME_CLK_GFX_MAX_LIMIT , AMDSMI_METRIC_NAME_CLK_SOC_MAX_LIMIT , AMDSMI_METRIC_NAME_CLK_MEM_MAX_LIMIT ,
  AMDSMI_METRIC_NAME_CLK_VCLK_MAX_LIMIT , AMDSMI_METRIC_NAME_CLK_DCLK_MAX_LIMIT , AMDSMI_METRIC_NAME_CLK_GFX_MIN_LIMIT , AMDSMI_METRIC_NAME_CLK_SOC_MIN_LIMIT ,
  AMDSMI_METRIC_NAME_CLK_MEM_MIN_LIMIT , AMDSMI_METRIC_NAME_CLK_VCLK_MIN_LIMIT , AMDSMI_METRIC_NAME_CLK_DCLK_MIN_LIMIT , AMDSMI_METRIC_NAME_CLK_GFX_LOCKED ,
  AMDSMI_METRIC_NAME_CLK_GFX_DS_DISABLED , AMDSMI_METRIC_NAME_CLK_MEM_DS_DISABLED , AMDSMI_METRIC_NAME_CLK_SOC_DS_DISABLED , AMDSMI_METRIC_NAME_CLK_VCLK_DS_DISABLED ,
  AMDSMI_METRIC_NAME_CLK_DCLK_DS_DISABLED , AMDSMI_METRIC_NAME_PCIE_LINK_SPEED , AMDSMI_METRIC_NAME_PCIE_LINK_WIDTH , AMDSMI_METRIC_NAME_DRAM_BANDWIDTH ,
  AMDSMI_METRIC_NAME_MAX_DRAM_BANDWIDTH , AMDSMI_METRIC_NAME_GFX_CLK_BELOW_HOST_LIMIT_PPT , AMDSMI_METRIC_NAME_GFX_CLK_BELOW_HOST_LIMIT_THM , AMDSMI_METRIC_NAME_GFX_CLK_BELOW_HOST_LIMIT_TOTAL ,
  AMDSMI_METRIC_NAME_GFX_CLK_LOW_UTILIZATION , AMDSMI_METRIC_NAME_INPUT_TELEMETRY_VOLTAGE , AMDSMI_METRIC_NAME_PLDM_VERSION , AMDSMI_METRIC_NAME_TEMP_XCD ,
  AMDSMI_METRIC_NAME_TEMP_AID , AMDSMI_METRIC_NAME_TEMP_HBM , AMDSMI_METRIC_NAME_SYS_METRIC_ACC_COUNTER , AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_FPGA ,
  AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_FRONT , AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_BACK , AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_OAM7 , AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_IBC ,
  AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_UFPGA , AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_OAM1 , AMDSMI_METRIC_NAME_SYSTEM_TEMP_OAM_0_1_HSC , AMDSMI_METRIC_NAME_SYSTEM_TEMP_OAM_2_3_HSC ,
  AMDSMI_METRIC_NAME_SYSTEM_TEMP_OAM_4_5_HSC , AMDSMI_METRIC_NAME_SYSTEM_TEMP_OAM_6_7_HSC , AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_FPGA_0V72_VR , AMDSMI_METRIC_NAME_SYSTEM_TEMP_UBB_FPGA_3V3_VR ,
  AMDSMI_METRIC_NAME_SYSTEM_TEMP_RETIMER_0_1_2_3_1V2_VR , AMDSMI_METRIC_NAME_SYSTEM_TEMP_RETIMER_4_5_6_7_1V2_VR , AMDSMI_METRIC_NAME_SYSTEM_TEMP_RETIMER_0_1_0V9_VR , AMDSMI_METRIC_NAME_SYSTEM_TEMP_RETIMER_4_5_0V9_VR ,
  AMDSMI_METRIC_NAME_SYSTEM_TEMP_RETIMER_2_3_0V9_VR , AMDSMI_METRIC_NAME_SYSTEM_TEMP_RETIMER_6_7_0V9_VR , AMDSMI_METRIC_NAME_SYSTEM_TEMP_OAM_0_1_2_3_3V3_VR , AMDSMI_METRIC_NAME_SYSTEM_TEMP_OAM_4_5_6_7_3V3_VR ,
  AMDSMI_METRIC_NAME_SYSTEM_TEMP_IBC_HSC , AMDSMI_METRIC_NAME_SYSTEM_TEMP_IBC , AMDSMI_METRIC_NAME_NODE_TEMP_RETIMER , AMDSMI_METRIC_NAME_NODE_TEMP_IBC_TEMP ,
  AMDSMI_METRIC_NAME_NODE_TEMP_IBC_2_TEMP , AMDSMI_METRIC_NAME_NODE_TEMP_VDD18_VR_TEMP , AMDSMI_METRIC_NAME_NODE_TEMP_04_HBM_B_VR_TEMP , AMDSMI_METRIC_NAME_NODE_TEMP_04_HBM_D_VR_TEMP ,
  AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_VDD0 , AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_VDD1 , AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_VDD2 , AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_VDD3 ,
  AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_SOC_A , AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_SOC_C , AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_SOCIO_A , AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_SOCIO_C ,
  AMDSMI_METRIC_NAME_VR_TEMP_VDD_085_HBM , AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_11_HBM_B , AMDSMI_METRIC_NAME_VR_TEMP_VDDCR_11_HBM_D , AMDSMI_METRIC_NAME_VR_TEMP_VDD_USR ,
  AMDSMI_METRIC_NAME_VR_TEMP_VDDIO_11_E32 , AMDSMI_METRIC_NAME_UNKNOWN
}
 Metric Name.
 
enum  amdsmi_metric_unit_t {
  AMDSMI_METRIC_UNIT_COUNTER , AMDSMI_METRIC_UNIT_UINT , AMDSMI_METRIC_UNIT_BOOL , AMDSMI_METRIC_UNIT_MHZ ,
  AMDSMI_METRIC_UNIT_PERCENT , AMDSMI_METRIC_UNIT_MILLIVOLT , AMDSMI_METRIC_UNIT_CELSIUS , AMDSMI_METRIC_UNIT_WATT ,
  AMDSMI_METRIC_UNIT_JOULE , AMDSMI_METRIC_UNIT_GBPS , AMDSMI_METRIC_UNIT_MBITPS , AMDSMI_METRIC_UNIT_PCIE_GEN ,
  AMDSMI_METRIC_UNIT_PCIE_LANES , AMDSMI_METRIC_UNIT_15_625_MILLIJOULE , AMDSMI_METRIC_UNIT_UNKNOWN
}
 Metric Unit.
 
enum  amdsmi_metric_type_t { AMDSMI_METRIC_TYPE_COUNTER = (1 << 0) , AMDSMI_METRIC_TYPE_CHIPLET = (1 << 1) , AMDSMI_METRIC_TYPE_INST = (1 << 2) , AMDSMI_METRIC_TYPE_ACC = (1 << 3) }
 Metric Type. More...
 
enum  amdsmi_metric_res_group_t {
  AMDSMI_METRIC_RES_GROUP_UNKNOWN , AMDSMI_METRIC_RES_GROUP_NA , AMDSMI_METRIC_RES_GROUP_GPU , AMDSMI_METRIC_RES_GROUP_XCP ,
  AMDSMI_METRIC_RES_GROUP_AID , AMDSMI_METRIC_RES_GROUP_MID , AMDSMI_METRIC_RES_GROUP_SYSTEM
}
 
enum  amdsmi_metric_res_subgroup_t {
  AMDSMI_METRIC_RES_SUBGROUP_UNKNOWN , AMDSMI_METRIC_RES_SUBGROUP_NA , AMDSMI_METRIC_RES_SUBGROUP_XCC , AMDSMI_METRIC_RES_SUBGROUP_ENGINE ,
  AMDSMI_METRIC_RES_SUBGROUP_HBM , AMDSMI_METRIC_RES_SUBGROUP_BASEBOARD , AMDSMI_METRIC_RES_SUBGROUP_GPUBOARD
}
 
enum  amdsmi_vf_mode_t {
  AMDSMI_VF_MODE_1 = (1U << 1) , AMDSMI_VF_MODE_2 = (1U << 2) , AMDSMI_VF_MODE_4 = (1U << 4) , AMDSMI_VF_MODE_8 = (1U << 8) ,
  AMDSMI_VF_MODE_ALL = (AMDSMI_VF_MODE_1 | AMDSMI_VF_MODE_2 | AMDSMI_VF_MODE_4 | AMDSMI_VF_MODE_8)
}
 
enum  amdsmi_driver_model_type_t { AMDSMI_DRIVER_MODEL_TYPE_WDDM = 0 , AMDSMI_DRIVER_MODEL_TYPE_WDM = 1 , AMDSMI_DRIVER_MODEL_TYPE_MCDM = 2 , AMDSMI_DRIVER_MODEL_TYPE__MAX = 3 }
 The values of this enum are used to identify driver model type.
 

Functions

amdsmi_status_t amdsmi_init (uint64_t init_flags)
 Initialize the AMD SMI library. More...
 
amdsmi_status_t amdsmi_shut_down (void)
 Shutdown the AMD SMI library. More...
 
amdsmi_status_t amdsmi_get_processor_type (amdsmi_processor_handle processor_handle, amdsmi_processor_type_t *processor_type)
 Get the processor type of the processor_handle. More...
 
amdsmi_status_t amdsmi_get_processor_handle_from_index (uint32_t processor_index, amdsmi_processor_handle *processor_handle)
 Returns the processor handle from the given processor index. More...
 
amdsmi_status_t amdsmi_get_socket_handles (uint32_t *socket_count, amdsmi_socket_handle *socket_handles)
 Get the list of socket handles in the system. More...
 
amdsmi_status_t amdsmi_get_index_from_processor_handle (amdsmi_processor_handle processor_handle, uint32_t *processor_index)
 Returns the index of the given processor handle. More...
 
amdsmi_status_t amdsmi_get_processor_handles (amdsmi_socket_handle socket_handle, uint32_t *processor_count, amdsmi_processor_handle *processor_handles)
 Get the list of the processor handles associated to a socket. More...
 
amdsmi_status_t amdsmi_get_socket_info (amdsmi_socket_handle socket_handle, size_t len, char *name)
 Get information about the given socket. More...
 
amdsmi_status_t amdsmi_get_processor_handle_from_bdf (amdsmi_bdf_t bdf, amdsmi_processor_handle *processor_handle)
 Get processor handle with the matching bdf. More...
 
amdsmi_status_t amdsmi_get_gpu_device_bdf (amdsmi_processor_handle processor_handle, amdsmi_bdf_t *bdf)
 Returns BDF of the given GPU device. More...
 
amdsmi_status_t amdsmi_get_processor_bdf (amdsmi_processor_handle processor_handle, amdsmi_bdf_t *bdf)
 Returns BDF of the given device. More...
 
amdsmi_status_t amdsmi_get_processor_handle_from_uuid (const char *uuid, amdsmi_processor_handle *processor_handle)
 Returns the processor handle from the given UUID. More...
 
amdsmi_status_t amdsmi_get_gpu_device_uuid (amdsmi_processor_handle processor_handle, unsigned int *uuid_length, char *uuid)
 Returns the UUID of the device. More...
 
amdsmi_status_t amdsmi_get_gpu_virtualization_mode (amdsmi_processor_handle processor_handle, amdsmi_virtualization_mode_t *mode)
 Returns the virtualization mode for the target device. More...
 
amdsmi_status_t amdsmi_get_cpu_affinity_with_scope (amdsmi_processor_handle processor_handle, uint32_t cpu_set_size, uint64_t *cpu_set, amdsmi_affinity_scope_t scope)
 Retrieves an array of uint64_t (sized to cpu_set_size) of bitmasks with the affinity within numa node or socket for the device. More...
 
amdsmi_status_t amdsmi_get_vf_handle_from_bdf (amdsmi_bdf_t bdf, amdsmi_vf_handle_t *vf_handle)
 Returns VF handle from the given BDF. More...
 
amdsmi_status_t amdsmi_get_vf_handle_from_uuid (const char *uuid, amdsmi_vf_handle_t *vf_handle)
 Returns the handle of a virtual function from the given UUID. More...
 
amdsmi_status_t amdsmi_get_vf_handle_from_vf_index (amdsmi_processor_handle processor_handle, uint32_t fcn_idx, amdsmi_vf_handle_t *vf_handle)
 Returns the handle of a virtual function given its index. More...
 
amdsmi_status_t amdsmi_get_vf_bdf (amdsmi_vf_handle_t vf_handle, amdsmi_bdf_t *bdf)
 Returns BDF of the given device (VF). More...
 
amdsmi_status_t amdsmi_get_vf_uuid (amdsmi_vf_handle_t processor_handle, unsigned int *uuid_length, char *uuid)
 Returns the UUID of the VF. More...
 
amdsmi_status_t amdsmi_get_nic_device_bdf (amdsmi_processor_handle processor_handle, amdsmi_bdf_t *bdf)
 Returns BDF of the given NIC device. More...
 
amdsmi_status_t amdsmi_get_processor_handles_by_type (amdsmi_socket_handle socket_handle, amdsmi_processor_type_t processor_type, amdsmi_processor_handle *processor_handles, uint32_t *processor_count)
 Returns a list of processor handles of the specified type in the system. More...
 
amdsmi_status_t amdsmi_get_lib_version (amdsmi_version_t *version)
 Get the build version information for the currently running build of AMDSMI. More...
 
amdsmi_status_t amdsmi_status_code_to_string (amdsmi_status_t status, const char **status_string)
 Get a description of a provided AMDSMI error status. More...
 
amdsmi_status_t amdsmi_get_gpu_driver_info (amdsmi_processor_handle processor_handle, amdsmi_driver_info_t *info)
 Returns the driver version information. More...
 
amdsmi_status_t amdsmi_get_gpu_driver_model (amdsmi_processor_handle processor_handle, amdsmi_driver_model_type_t *model)
 Returns the driver model information. More...
 
amdsmi_status_t amdsmi_get_gpu_asic_info (amdsmi_processor_handle processor_handle, amdsmi_asic_info_t *info)
 Returns the ASIC information for the device. More...
 
amdsmi_status_t amdsmi_get_power_cap_info (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, amdsmi_power_cap_info_t *info)
 Returns the power caps as currently configured in the system. More...
 
amdsmi_status_t amdsmi_get_pcie_info (amdsmi_processor_handle processor_handle, amdsmi_pcie_info_t *info)
 Returns the PCIe info for the GPU. More...
 
amdsmi_status_t amdsmi_get_gpu_vram_info (amdsmi_processor_handle processor_handle, amdsmi_vram_info_t *info)
 Returns vram info. More...
 
amdsmi_status_t amdsmi_get_gpu_board_info (amdsmi_processor_handle processor_handle, amdsmi_board_info_t *info)
 Returns the board part number and board information for the requested device. More...
 
amdsmi_status_t amdsmi_get_fb_layout (amdsmi_processor_handle processor_handle, amdsmi_pf_fb_info_t *info)
 Returns the framebuffer info for the ASIC. More...
 
amdsmi_status_t amdsmi_get_fw_info (amdsmi_processor_handle processor_handle, amdsmi_fw_info_t *info)
 Returns the firmware versions running on the device. More...
 
amdsmi_status_t amdsmi_get_gpu_vbios_info (amdsmi_processor_handle processor_handle, amdsmi_vbios_info_t *info)
 Returns the static information for the vBIOS on the device. More...
 
amdsmi_status_t amdsmi_get_fw_error_records (amdsmi_processor_handle processor_handle, amdsmi_fw_error_record_t *records)
 Gets firmware error records. More...
 
amdsmi_status_t amdsmi_get_dfc_fw_table (amdsmi_processor_handle processor_handle, amdsmi_dfc_fw_t *info)
 Returns the DFC fw table. More...
 
amdsmi_status_t amdsmi_get_gpu_activity (amdsmi_processor_handle processor_handle, amdsmi_engine_usage_t *info)
 Returns the current usage of the GPU engines (GFX, MM and MEM). Each usage is reported as a percentage from 0-100%. More...
 
amdsmi_status_t amdsmi_get_power_info (amdsmi_processor_handle processor_handle, amdsmi_power_info_t *info)
 Returns the current power and voltage of the GPU. More...
 
amdsmi_status_t amdsmi_is_gpu_power_management_enabled (amdsmi_processor_handle processor_handle, bool *enabled)
 Returns is power management enabled. More...
 
amdsmi_status_t amdsmi_get_clock_info (amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, amdsmi_clk_info_t *info)
 Returns the measurements of the clocks in the GPU for the GFX and multimedia engines and Memory. This call reports the averages over 1s in MHz. It is not supported on virtual machine guest. More...
 
amdsmi_status_t amdsmi_get_temp_metric (amdsmi_processor_handle processor_handle, amdsmi_temperature_type_t sensor_type, amdsmi_temperature_metric_t metric, int64_t *temperature)
 Get the temperature metric value for the specified metric, from the specified temperature sensor on the specified device. It is not supported on virtual machine guest. More...
 
amdsmi_status_t amdsmi_get_gpu_metrics (amdsmi_processor_handle processor_handle, uint32_t *metrics_size, amdsmi_metric_t *metrics)
 Return metrics information. More...
 
amdsmi_status_t amdsmi_get_gpu_memory_partition_config (amdsmi_processor_handle processor_handle, amdsmi_memory_partition_config_t *config)
 Returns current gpu memory partition capabilities. More...
 
amdsmi_status_t amdsmi_set_gpu_memory_partition_mode (amdsmi_processor_handle processor_handle, amdsmi_memory_partition_type_t mode)
 Sets memory partition mode Set memory partition setting based on memory_partition mode from amdsmi_get_gpu_memory_partition_config. More...
 
amdsmi_status_t amdsmi_get_gpu_accelerator_partition_profile_config (amdsmi_processor_handle processor_handle, amdsmi_accelerator_partition_profile_config_t *profile_config)
 Returns gpu accelerator partition caps as currently configured in the system. More...
 
amdsmi_status_t amdsmi_get_gpu_accelerator_partition_profile (amdsmi_processor_handle processor_handle, amdsmi_accelerator_partition_profile_t *profile, uint32_t *partition_id)
 Returns current gpu accelerator partition cap. More...
 
amdsmi_status_t amdsmi_set_gpu_accelerator_partition_profile (amdsmi_processor_handle processor_handle, uint32_t profile_index)
 Set accelerator partition setting based on profile_index from amdsmi_get_gpu_accelerator_partition_profile_config. More...
 
amdsmi_status_t amdsmi_get_gpu_accelerator_partition_profile_config_global (amdsmi_processor_handle processor_handle, amdsmi_accelerator_partition_profile_config_global_t *config)
 Returns all GPU accelerator partition capabilities which can be configured on the system. More...
 
amdsmi_status_t amdsmi_get_link_metrics (amdsmi_processor_handle processor_handle, amdsmi_link_metrics_t *link_metrics)
 Return link metric information. More...
 
amdsmi_status_t amdsmi_get_link_topology_nearest (amdsmi_processor_handle processor_handle, amdsmi_link_type_t link_type, amdsmi_topology_nearest_t *topology_nearest_info)
 Retrieve the set of GPUs that are nearest to a given device at a specific interconnectivity level. More...
 
amdsmi_status_t amdsmi_topo_get_p2p_status (amdsmi_processor_handle processor_handle_src, amdsmi_processor_handle processor_handle_dst, amdsmi_link_type_t *type, amdsmi_p2p_capability_t *cap)
 Retrieve connection type and P2P capabilities between 2 GPUs. More...
 
amdsmi_status_t amdsmi_topo_get_numa_node_number (amdsmi_processor_handle processor_handle, uint32_t *numa_node)
 Retrieve the NUMA CPU node number for a device. More...
 
amdsmi_status_t amdsmi_get_link_topology (amdsmi_processor_handle processor_handle_src, amdsmi_processor_handle processor_handle_dst, amdsmi_link_topology_t *topology_info)
 Return link topology information between two connected processors. More...
 
amdsmi_status_t amdsmi_get_xgmi_fb_sharing_caps (amdsmi_processor_handle processor_handle, amdsmi_xgmi_fb_sharing_caps_t *caps)
 Return XGMI capabilities. More...
 
amdsmi_status_t amdsmi_get_xgmi_fb_sharing_mode_info (amdsmi_processor_handle processor_handle_src, amdsmi_processor_handle processor_handle_dst, amdsmi_xgmi_fb_sharing_mode_t mode, uint8_t *fb_sharing)
 Return XGMI framebuffer sharing information between two GPUs. More...
 
amdsmi_status_t amdsmi_set_xgmi_fb_sharing_mode (amdsmi_processor_handle processor_handle, amdsmi_xgmi_fb_sharing_mode_t mode)
 Set XGMI framebuffer sharing mode. More...
 
amdsmi_status_t amdsmi_set_xgmi_fb_sharing_mode_v2 (amdsmi_processor_handle *processor_list, uint32_t num_processors, amdsmi_xgmi_fb_sharing_mode_t mode)
 Set XGMI framebuffer custom sharing mode. More...
 
amdsmi_status_t amdsmi_get_soc_pstate (amdsmi_processor_handle processor_handle, amdsmi_dpm_policy_t *policy)
 Get the soc pstate policy for the processor. More...
 
amdsmi_status_t amdsmi_set_soc_pstate (amdsmi_processor_handle processor_handle, uint32_t policy_id)
 Set the soc pstate policy for the processor. More...
 
amdsmi_status_t amdsmi_get_xgmi_plpd (amdsmi_processor_handle processor_handle, amdsmi_dpm_policy_t *xgmi_plpd)
 Get the xgmi per-link power down policy parameter for the processor. More...
 
amdsmi_status_t amdsmi_set_xgmi_plpd (amdsmi_processor_handle processor_handle, uint32_t policy_id)
 Set the xgmi per-link power down policy parameter for the processor. More...
 
amdsmi_status_t amdsmi_set_power_cap (amdsmi_processor_handle processor_handle, uint32_t sensor_ind, uint64_t cap)
 Set the maximum gpu power cap value. It is not supported on virtual machine guest. More...
 
amdsmi_status_t amdsmi_get_gpu_cache_info (amdsmi_processor_handle processor_handle, amdsmi_gpu_cache_info_t *info)
 Returns gpu cache info. More...
 
amdsmi_status_t amdsmi_get_gpu_ecc_count (amdsmi_processor_handle processor_handle, amdsmi_gpu_block_t block, amdsmi_error_count_t *ec)
 Retrieve the error counts for a GPU block. It is not supported on virtual machine guest. More...
 
amdsmi_status_t amdsmi_get_gpu_ecc_enabled (amdsmi_processor_handle processor_handle, uint64_t *enabled_blocks)
 Retrieve the enabled ECC bit-mask. It is not supported on virtual machine guest. More...
 
amdsmi_status_t amdsmi_get_gpu_total_ecc_count (amdsmi_processor_handle processor_handle, amdsmi_error_count_t *ec)
 Returns the total number of ECC errors (correctable, uncorrectable and deferred) in the given GPU. It is not supported on virtual machine guest. More...
 
amdsmi_status_t amdsmi_get_bad_page_threshold (amdsmi_processor_handle processor_handle, uint32_t *threshold)
 Get the bad page threshold for a device. More...
 
amdsmi_status_t amdsmi_get_gpu_cper_entries (amdsmi_processor_handle processor_handle, uint32_t severity_mask, char *cper_data, uint64_t *buf_size, amdsmi_cper_hdr_t **cper_hdrs, uint64_t *entry_count, uint64_t *cursor)
 Retrieve CPER entries cached in the driver. More...
 
amdsmi_status_t amdsmi_get_afids_from_cper (char *cper_buffer, uint32_t buf_size, uint64_t *afids, uint32_t *num_afids)
 Get the AFIDs from CPER buffer. More...
 
amdsmi_status_t amdsmi_get_gpu_ras_feature_info (amdsmi_processor_handle processor_handle, amdsmi_ras_feature_t *ras_feature)
 Returns RAS features info. More...
 
amdsmi_status_t amdsmi_get_gpu_bad_page_info (amdsmi_processor_handle processor_handle, uint32_t *bad_page_size, amdsmi_eeprom_table_record_t *bad_pages)
 Returns the bad page info. More...
 
amdsmi_status_t amdsmi_reset_gpu (amdsmi_processor_handle processor_handle)
 Reset the gpu associated with the device with provided processor handle. It is not supported on virtual machine guest. More...
 
amdsmi_status_t amdsmi_get_num_vf (amdsmi_processor_handle processor_handle, uint32_t *num_vf_enabled, uint32_t *num_vf_supported)
 Returns the number of VFs enabled by gpuv in the ASIC. More...
 
amdsmi_status_t amdsmi_get_vf_partition_info (amdsmi_processor_handle processor_handle, unsigned int vf_buffer_num, amdsmi_partition_info_t *info)
 Returns the current framebuffer partitioning structure as currently configured by the driver. More...
 
amdsmi_status_t amdsmi_get_partition_profile_info (amdsmi_processor_handle processor_handle, amdsmi_profile_info_t *profile_info)
 Return the list of supported profiles on the given GPU device. More...
 
amdsmi_status_t amdsmi_get_vf_info (amdsmi_vf_handle_t vf_handle, amdsmi_vf_info_t *config)
 Returns the configuration structure for a VF. More...
 
amdsmi_status_t amdsmi_get_vf_data (amdsmi_vf_handle_t vf_handle, amdsmi_vf_data_t *info)
 Returns the data structure for a VF. More...
 
amdsmi_status_t amdsmi_event_create (amdsmi_processor_handle *processor_list, uint32_t num_devices, uint64_t event_types, amdsmi_event_set *set)
 Allocate a new event set notifier to monitor different types of issues with the GPU running virtualization SW. This call registers an event set. The user must pass an array with the GPUs it wants to monitor with the selected event flags. More...
 
amdsmi_status_t amdsmi_event_read (amdsmi_event_set set, int64_t timeout_usec, amdsmi_event_entry_t *event)
 The call blocks till timeout is expired to copy one event specified by the event set into the user provided notifier storage. More...
 
amdsmi_status_t amdsmi_event_destroy (amdsmi_event_set set)
 Destroys and frees an event set. More...
 
amdsmi_status_t amdsmi_get_guest_data (amdsmi_vf_handle_t vf_handle, amdsmi_guest_data_t *info)
 Returns guest OS information of the queried VF. The fw_info field from the amdsmi_guest_data structure is deprecated and will be empty. To get the vf fw info, amdsmi_get_vf_fw_info API should be used. More...
 
amdsmi_status_t amdsmi_get_vf_fw_info (amdsmi_vf_handle_t vf_handle, amdsmi_fw_info_t *info)
 Returns the firmware versions running on a VF. In case the VM is not started on the VF, empty list will be returned and num_fw_info will be set to zero. More...
 
amdsmi_status_t amdsmi_clear_vf_fb (amdsmi_vf_handle_t vf_handle)
 Clear the framebuffer of a VF. If trying to clear the framebuffer of an active function, the call will fail with device busy. More...
 
amdsmi_status_t amdsmi_set_num_vf (amdsmi_processor_handle processor_handle, uint32_t num_vf)
 Enable a given number of VF. More...
 
amdsmi_status_t amdsmi_get_nic_driver_info (amdsmi_processor_handle processor_handle, amdsmi_nic_driver_info_t *info)
 Retrieves information about the NIC driver. More...
 
amdsmi_status_t amdsmi_get_nic_asic_info (amdsmi_processor_handle processor_handle, amdsmi_nic_asic_info_t *info)
 Retrieves ASIC information for the NIC. More...
 
amdsmi_status_t amdsmi_get_nic_bus_info (amdsmi_processor_handle processor_handle, amdsmi_nic_bus_info_t *info)
 Retrieves BUS information for the NIC. More...
 
amdsmi_status_t amdsmi_get_nic_numa_info (amdsmi_processor_handle processor_handle, amdsmi_nic_numa_info_t *info)
 Retrieves NUMA information for the NIC. More...
 
amdsmi_status_t amdsmi_get_nic_port_info (amdsmi_processor_handle processor_handle, amdsmi_nic_port_info_t *info)
 Retrieves PORT information for the NIC. More...
 
amdsmi_status_t amdsmi_get_nic_rdma_dev_info (amdsmi_processor_handle processor_handle, amdsmi_nic_rdma_devices_info_t *info)
 Retrieves RDMA devices information for the NIC. More...
 
amdsmi_status_t amdsmi_get_nic_port_statistics (amdsmi_processor_handle processor_handle, uint32_t port_index, uint32_t *num_stats, amdsmi_nic_stat_t *stats)
 Retrieve PORT statistics for the specified NIC port. More...
 
amdsmi_status_t amdsmi_get_nic_vendor_statistics (amdsmi_processor_handle processor_handle, uint32_t port_index, uint32_t *num_stats, amdsmi_nic_stat_t *stats)
 Retrieve vendor specific statistics for the NIC port. More...
 
amdsmi_status_t amdsmi_get_nic_rdma_port_statistics (amdsmi_processor_handle processor_handle, uint32_t rdma_port_index, uint32_t *num_stats, amdsmi_nic_stat_t *stats)
 Retrieve RDMA port statistics for the NIC. More...
 

Detailed Description

AMD System Management Interface API.

Macro Definition Documentation

◆ AMDSMI_MAX_NUM_XGMI_PHYSICAL_LINK

#define AMDSMI_MAX_NUM_XGMI_PHYSICAL_LINK   64

Common defines.

Maximum number of XGMI physical links

◆ AMDSMI_MAX_MM_IP_COUNT

#define AMDSMI_MAX_MM_IP_COUNT   8

Maximum size definitions.

Maximum number of multimedia IP blocks

◆ MAX_NUMBER_OF_AFIDS_PER_RECORD

#define MAX_NUMBER_OF_AFIDS_PER_RECORD   12

Max Number of AFIDs that will be inside one cper entry.

Maximum AFIDs per CPER record

◆ AMDSMI_MAX_VF_COUNT

#define AMDSMI_MAX_VF_COUNT   32

Maximum size definitions AMDSMI.

Maximum number of virtual functions supported

◆ AMDSMI_TIME_FORMAT

#define AMDSMI_TIME_FORMAT   "%02d:%02d:%02d.%03d"

String format.

Time format string

◆ AMDSMI_MASK_ALL

#define AMDSMI_MASK_ALL   (~0ULL)

AMDSMI event mask.

include all events and all severities

◆ AMDSMI_MAX_DATE_STRING_LENGTH

#define AMDSMI_MAX_DATE_STRING_LENGTH   32

Maximum size definitions for date strings.

Date length for string buffers

◆ AMDSMI_MAX_NIC_PORTS

#define AMDSMI_MAX_NIC_PORTS   32

Maximum size definitions AMDSMI NIC.

Maximum number of NIC ports

Enumeration Type Documentation

◆ amdsmi_init_flags_t

Initialization flags.

Initialization flags may be OR'd together and passed to amdsmi_init().

Enumerator
AMDSMI_INIT_ALL_PROCESSORS 

Initialize all processors.

AMDSMI_INIT_AMD_CPUS 

Initialize AMD CPUS.

AMDSMI_INIT_AMD_GPUS 

Initialize AMD GPUS.

AMDSMI_INIT_NON_AMD_CPUS 

Initialize Non-AMD CPUS.

AMDSMI_INIT_NON_AMD_GPUS 

Initialize Non-AMD GPUS.

AMDSMI_INIT_AMD_APUS 

Initialize AMD CPUS and GPUS (Default option)

◆ amdsmi_status_t

Error codes returned by amdsmi functions.

Please avoid status codes that are multiples of 256 (256, 512, etc..) Return values in the shell get modulo 256 applied, meaning any multiple of 256 ends up as 0

Enumerator
AMDSMI_STATUS_SUCCESS 

Call succeeded.

AMDSMI_STATUS_INVAL 

Invalid parameters.

AMDSMI_STATUS_NOT_SUPPORTED 

Command not supported.

AMDSMI_STATUS_NOT_YET_IMPLEMENTED 

Not implemented yet.

AMDSMI_STATUS_FAIL_LOAD_MODULE 

Fail to load lib.

AMDSMI_STATUS_FAIL_LOAD_SYMBOL 

Fail to load symbol.

AMDSMI_STATUS_DRM_ERROR 

Error when call libdrm.

AMDSMI_STATUS_API_FAILED 

API call failed.

AMDSMI_STATUS_TIMEOUT 

Timeout in API call.

AMDSMI_STATUS_RETRY 

Retry operation.

AMDSMI_STATUS_NO_PERM 

Permission Denied.

AMDSMI_STATUS_INTERRUPT 

An interrupt occurred during execution of function.

AMDSMI_STATUS_IO 

I/O Error.

AMDSMI_STATUS_ADDRESS_FAULT 

Bad address.

AMDSMI_STATUS_FILE_ERROR 

Problem accessing a file.

AMDSMI_STATUS_OUT_OF_RESOURCES 

Not enough memory.

AMDSMI_STATUS_INTERNAL_EXCEPTION 

An internal exception was caught.

AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS 

The provided input is out of allowable or safe range.

AMDSMI_STATUS_INIT_ERROR 

An error occurred when initializing internal data structures.

AMDSMI_STATUS_REFCOUNT_OVERFLOW 

An internal reference counter exceeded INT32_MAX.

AMDSMI_STATUS_DIRECTORY_NOT_FOUND 

Error when a directory is not found, maps to ENOTDIR.

AMDSMI_STATUS_BUSY 

Processor busy.

AMDSMI_STATUS_NOT_FOUND 

Processor Not found.

AMDSMI_STATUS_NOT_INIT 

Processor not initialized.

AMDSMI_STATUS_NO_SLOT 

No more free slot.

AMDSMI_STATUS_DRIVER_NOT_LOADED 

Processor driver not loaded.

AMDSMI_STATUS_MORE_DATA 

There is more data than the buffer size the user passed.

AMDSMI_STATUS_NO_DATA 

No data was found for a given input.

AMDSMI_STATUS_INSUFFICIENT_SIZE 

Not enough resources were available for the operation.

AMDSMI_STATUS_UNEXPECTED_SIZE 

An unexpected amount of data was read.

AMDSMI_STATUS_UNEXPECTED_DATA 

The data read or provided to function is not what was expected.

AMDSMI_STATUS_NON_AMD_CPU 

System has different cpu than AMD.

AMDSMI_STATUS_NO_ENERGY_DRV 

Energy driver not found.

AMDSMI_STATUS_NO_MSR_DRV 

MSR driver not found.

AMDSMI_STATUS_NO_HSMP_DRV 

HSMP driver not found.

AMDSMI_STATUS_NO_HSMP_SUP 

HSMP not supported.

AMDSMI_STATUS_NO_HSMP_MSG_SUP 

HSMP message/feature not supported.

AMDSMI_STATUS_HSMP_TIMEOUT 

HSMP message timed out.

AMDSMI_STATUS_NO_DRV 

No Energy and HSMP driver present.

AMDSMI_STATUS_FILE_NOT_FOUND 

file or directory not found

AMDSMI_STATUS_ARG_PTR_NULL 

Parsed argument is invalid.

AMDSMI_STATUS_AMDGPU_RESTART_ERR 

AMDGPU restart failed.

AMDSMI_STATUS_SETTING_UNAVAILABLE 

Setting is not available.

AMDSMI_STATUS_CORRUPTED_EEPROM 

EEPROM is corrupted.

AMDSMI_STATUS_MAP_ERROR 

The internal library error did not map to a status code.

AMDSMI_STATUS_UNKNOWN_ERROR 

An unknown error occurred.

◆ amdsmi_processor_type_t

Processor types detectable by AMD SMI.

AMDSMI_PROCESSOR_TYPE_AMD_CPU - CPU Socket is a physical component that holds the CPU. AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE - CPU Cores are number of individual processing units within the CPU. AMDSMI_PROCESSOR_TYPE_AMD_APU - Combination of AMDSMI_PROCESSOR_TYPE_AMD_CPU and integrated GPU on single die AMDSMI_PROCESSOR_TYPE_AMD_NIC - Network Interface Card

Enumerator
AMDSMI_PROCESSOR_TYPE_UNKNOWN 

Unknown processor type.

AMDSMI_PROCESSOR_TYPE_AMD_GPU 

AMD Graphics processor type.

AMDSMI_PROCESSOR_TYPE_AMD_CPU 

AMD CPU processor type.

AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU 

Non-AMD Graphics processor type.

AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU 

Non-AMD CPU processor type.

AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE 

AMD CPU-Core processor type.

AMDSMI_PROCESSOR_TYPE_AMD_APU 

AMD Accelerated processor type (GPU and CPU)

AMDSMI_PROCESSOR_TYPE_AMD_NIC 

AMD Network Interface Card processor type.

◆ amdsmi_memory_partition_type_t

Memory Partitions.

Enumerator
AMDSMI_MEMORY_PARTITION_NPS1 

NPS1 - All CCD & XCD data is interleaved across all 8 HBM stacks (all stacks/1)

AMDSMI_MEMORY_PARTITION_NPS2 

NPS2 - 2 sets of CCDs or 4 XCD interleaved across the 4 HBM stacks per AID pair (8 stacks/2)

AMDSMI_MEMORY_PARTITION_NPS4 

NPS4 - Each XCD data is interleaved across 2 (or single) HBM stacks (8 stacks/8 or 8 stacks/4)

AMDSMI_MEMORY_PARTITION_NPS8 

NPS8 - Each XCD uses a single HBM stack (8 stacks/8). Or each XCD uses a single HBM stack & CCDs share 2 non-interleaved HBM stacks on its AID (AID[1,2,3] = 6 stacks/6)

◆ amdsmi_accelerator_partition_type_t

Accelerator Partition.

Enumerator
AMDSMI_ACCELERATOR_PARTITION_INVALID 

Invalid accelerator partition type.

AMDSMI_ACCELERATOR_PARTITION_SPX 

Single GPU mode (SPX)- All XCCs work together with shared memory

AMDSMI_ACCELERATOR_PARTITION_DPX 

Dual GPU mode (DPX)- Half XCCs work together with shared memory

AMDSMI_ACCELERATOR_PARTITION_TPX 

Triple GPU mode (TPX)- One-third XCCs work together with shared memory

AMDSMI_ACCELERATOR_PARTITION_QPX 

Quad GPU mode (QPX)- Quarter XCCs work together with shared memory

AMDSMI_ACCELERATOR_PARTITION_CPX 

Core mode (CPX)- Per-chip XCC with shared memory

◆ amdsmi_vram_type_t

vRam Types. This enum is used to identify various VRam types.

Enumerator
AMDSMI_VRAM_TYPE_UNKNOWN 

Unknown memory type.

AMDSMI_VRAM_TYPE_HBM 

High Bandwidth Memory.

AMDSMI_VRAM_TYPE_HBM2 

High Bandwidth Memory, Generation 2.

AMDSMI_VRAM_TYPE_HBM2E 

High Bandwidth Memory, Generation 2 Enhanced.

AMDSMI_VRAM_TYPE_HBM3 

High Bandwidth Memory, Generation 3.

AMDSMI_VRAM_TYPE_HBM3E 

High Bandwidth Memory, Generation 3 Enhanced.

AMDSMI_VRAM_TYPE_DDR2 

Double Data Rate, Generation 2.

AMDSMI_VRAM_TYPE_DDR3 

Double Data Rate, Generation 3.

AMDSMI_VRAM_TYPE_DDR4 

Double Data Rate, Generation 4.

AMDSMI_VRAM_TYPE_GDDR1 

Graphics Double Data Rate, Generation 1.

AMDSMI_VRAM_TYPE_GDDR2 

Graphics Double Data Rate, Generation 2.

AMDSMI_VRAM_TYPE_GDDR3 

Graphics Double Data Rate, Generation 3.

AMDSMI_VRAM_TYPE_GDDR4 

Graphics Double Data Rate, Generation 4.

AMDSMI_VRAM_TYPE_GDDR5 

Graphics Double Data Rate, Generation 5.

AMDSMI_VRAM_TYPE_GDDR6 

Graphics Double Data Rate, Generation 6.

AMDSMI_VRAM_TYPE_GDDR7 

Graphics Double Data Rate, Generation 7.

◆ amdsmi_accelerator_partition_resource_type_t

Accelerator Partition Resource Types.

Enumerator
AMDSMI_ACCELERATOR_XCC 

Compute complex or stream processors.

AMDSMI_ACCELERATOR_ENCODER 

Video encoding.

AMDSMI_ACCELERATOR_DECODER 

Video decoding.

AMDSMI_ACCELERATOR_DMA 

Direct Memory Access, high speed data transfers.

AMDSMI_ACCELERATOR_JPEG 

Encoding and Decoding jpeg engines.

◆ amdsmi_clk_type_t

Clock types.

Enumerator
AMDSMI_CLK_TYPE_SYS 

System clock.

AMDSMI_CLK_TYPE_GFX 

Graphics clock.

AMDSMI_CLK_TYPE_DF 

Data Fabric clock (for ASICs running on a separate clock)

AMDSMI_CLK_TYPE_DCEF 

Display Controller Engine Front clock, timing/bandwidth signals to display

AMDSMI_CLK_TYPE_SOC 

System On Chip clock, integrated circuit frequency.

AMDSMI_CLK_TYPE_MEM 

Memory clock speed, system operating frequency.

AMDSMI_CLK_TYPE_PCIE 

PCI Express clock, high bandwidth peripherals.

AMDSMI_CLK_TYPE_VCLK0 

Video 0 clock, video processing units.

AMDSMI_CLK_TYPE_VCLK1 

Video 1 clock, video processing units.

AMDSMI_CLK_TYPE_DCLK0 

Display 1 clock, timing signals for display output.

AMDSMI_CLK_TYPE_DCLK1 

Display 2 clock, timing signals for display output.

◆ amdsmi_temperature_type_t

This enumeration is used to indicate from which part of the processor a temperature reading should be obtained.

Enumerator
AMDSMI_TEMPERATURE_TYPE_EDGE 

Edge temperature.

AMDSMI_TEMPERATURE_TYPE_HOTSPOT 

Hottest temperature reported for entire die.

AMDSMI_TEMPERATURE_TYPE_JUNCTION 

Synonymous with HOTSPOT.

AMDSMI_TEMPERATURE_TYPE_VRAM 

VRAM temperature on graphics card.

AMDSMI_TEMPERATURE_TYPE_HBM_0 

High Bandwidth 0 temperature per stack.

AMDSMI_TEMPERATURE_TYPE_HBM_1 

High Bandwidth 1 temperature per stack.

AMDSMI_TEMPERATURE_TYPE_HBM_2 

High Bandwidth 2 temperature per stack.

AMDSMI_TEMPERATURE_TYPE_HBM_3 

High Bandwidth 3 temperature per stack.

AMDSMI_TEMPERATURE_TYPE_PLX 

PCIe switch temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_RETIMER_X 

Retimer X temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_IBC 

OAM X IBC temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_IBC_2 

OAM X IBC 2 temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_VDD18_VR 

OAM X VDD 1.8V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_04_HBM_B_VR 

OAM X 0.4V HBM B voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_NODE_OAM_X_04_HBM_D_VR 

OAM X 0.4V HBM D voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD0 

VDDCR VDD0 voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD1 

VDDCR VDD1 voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD2 

VDDCR VDD2 voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_VDD3 

VDDCR VDD3 voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOC_A 

VDDCR SOC A voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOC_C 

VDDCR SOC C voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOCIO_A 

VDDCR SOCIO A voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_SOCIO_C 

VDDCR SOCIO C voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDD_085_HBM 

VDD 0.85V HBM voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_11_HBM_B 

VDDCR 1.1V HBM B voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDCR_11_HBM_D 

VDDCR 1.1V HBM D voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDD_USR 

VDD USR voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_GPUBOARD_VDDIO_11_E32 

VDDIO 1.1V E32 voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA 

UBB FPGA temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FRONT 

UBB front temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_BACK 

UBB back temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_OAM7 

UBB OAM7 temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_IBC 

UBB IBC temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_UFPGA 

UBB UFPGA temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_OAM1 

UBB OAM1 temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_0_1_HSC 

OAM 0-1 HSC temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_2_3_HSC 

OAM 2-3 HSC temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_4_5_HSC 

OAM 4-5 HSC temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_6_7_HSC 

OAM 6-7 HSC temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA_0V72_VR 

UBB FPGA 0.72V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_UBB_FPGA_3V3_VR 

UBB FPGA 3.3V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_0_1_2_3_1V2_VR 

Retimer 0-1-2-3 1.2V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_4_5_6_7_1V2_VR 

Retimer 4-5-6-7 1.2V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_0_1_0V9_VR 

Retimer 0-1 0.9V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_4_5_0V9_VR 

Retimer 4-5 0.9V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_2_3_0V9_VR 

Retimer 2-3 0.9V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_RETIMER_6_7_0V9_VR 

Retimer 6-7 0.9V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_0_1_2_3_3V3_VR 

OAM 0-1-2-3 3.3V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_OAM_4_5_6_7_3V3_VR 

OAM 4-5-6-7 3.3V voltage regulator temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_IBC_HSC 

IBC HSC temperature.

AMDSMI_TEMPERATURE_TYPE_BASEBOARD_IBC 

IBC temperature.

AMDSMI_TEMPERATURE_TYPE__MAX 

Maximum per GPU temperature type.

◆ amdsmi_temperature_metric_t

Temperature Metrics. This enum is used to identify various temperature metrics. Corresponding values will be in Celcius.

Enumerator
AMDSMI_TEMP_CURRENT 

Current temperature.

AMDSMI_TEMP_MAX 

Max temperature.

AMDSMI_TEMP_MIN 

Min temperature.

AMDSMI_TEMP_MAX_HYST 

Max limit hysteresis temperature (Absolute temperature, not a delta)

AMDSMI_TEMP_MIN_HYST 

Min limit hysteresis temperature (Absolute temperature, not a delta)

AMDSMI_TEMP_CRITICAL 

Critical max limit temperature, typically greater than max temperatures

AMDSMI_TEMP_CRITICAL_HYST 

Critical hysteresis limit temperature (Absolute temperature, not a delta)

AMDSMI_TEMP_EMERGENCY 

Emergency max temperature, for chips supporting more than two upper temperature limits. Must be equal or greater than corresponding temp_crit values

AMDSMI_TEMP_EMERGENCY_HYST 

Emergency hysteresis limit temperature (Absolute temperature, not a delta)

AMDSMI_TEMP_CRIT_MIN 

Critical min temperature, typically lower than minimum temperatures

AMDSMI_TEMP_CRIT_MIN_HYST 

Min Hysteresis critical limit temperature (Absolute temperature, not a delta)

AMDSMI_TEMP_OFFSET 

Temperature offset which is added to the temperature reading by the chip

AMDSMI_TEMP_LOWEST 

Historical min temperature.

AMDSMI_TEMP_HIGHEST 

Historical max temperature.

AMDSMI_TEMP_SHUTDOWN 

Shutdown temperature.

◆ amdsmi_card_form_factor_t

Card Form Factor.

Enumerator
AMDSMI_CARD_FORM_FACTOR_PCIE 

PCIE card form factor.

AMDSMI_CARD_FORM_FACTOR_OAM 

OAM form factor.

AMDSMI_CARD_FORM_FACTOR_CEM 

CEM form factor.

AMDSMI_CARD_FORM_FACTOR_UNKNOWN 

Unknown Form factor.

◆ amdsmi_link_type_t

Link type.

Enumerator
AMDSMI_LINK_TYPE_INTERNAL 

Internal Link Type, within chip.

AMDSMI_LINK_TYPE_PCIE 

Peripheral Component Interconnect Express Link Type.

AMDSMI_LINK_TYPE_XGMI 

GPU Memory Interconnect (multi GPU communication)

AMDSMI_LINK_TYPE_NOT_APPLICABLE 

Not Applicable Link Type.

AMDSMI_LINK_TYPE_UNKNOWN 

Unknown Link Type.

◆ amdsmi_cache_property_type_t

cache properties

Enumerator
AMDSMI_CACHE_PROPERTY_ENABLED 

Cache enabled.

AMDSMI_CACHE_PROPERTY_DATA_CACHE 

Data cache.

AMDSMI_CACHE_PROPERTY_INST_CACHE 

Instruction cache.

AMDSMI_CACHE_PROPERTY_CPU_CACHE 

CPU cache.

AMDSMI_CACHE_PROPERTY_SIMD_CACHE 

Single Instruction, Multiple Data Cache.

◆ amdsmi_gpu_block_t

This enum is used to identify different GPU blocks.

Enumerator
AMDSMI_GPU_BLOCK_INVALID 

Invalid block.

AMDSMI_GPU_BLOCK_UMC 

UMC block.

AMDSMI_GPU_BLOCK_SDMA 

SDMA block.

AMDSMI_GPU_BLOCK_GFX 

GFX block.

AMDSMI_GPU_BLOCK_MMHUB 

MMHUB block.

AMDSMI_GPU_BLOCK_ATHUB 

ATHUB block.

AMDSMI_GPU_BLOCK_PCIE_BIF 

PCIE_BIF block.

AMDSMI_GPU_BLOCK_HDP 

HDP block.

AMDSMI_GPU_BLOCK_XGMI_WAFL 

XGMI block.

AMDSMI_GPU_BLOCK_DF 

DF block.

AMDSMI_GPU_BLOCK_SMN 

SMN block.

AMDSMI_GPU_BLOCK_SEM 

SEM block.

AMDSMI_GPU_BLOCK_MP0 

MP0 block.

AMDSMI_GPU_BLOCK_MP1 

MP1 block.

AMDSMI_GPU_BLOCK_FUSE 

Fuse block.

AMDSMI_GPU_BLOCK_MCA 

MCA block.

AMDSMI_GPU_BLOCK_VCN 

VCN block.

AMDSMI_GPU_BLOCK_JPEG 

JPEG block.

AMDSMI_GPU_BLOCK_IH 

IH block.

AMDSMI_GPU_BLOCK_MPIO 

MPIO block.

◆ amdsmi_fw_block_t

The values of this enum are used to identify the various firmware blocks.

Enumerator
AMDSMI_FW_ID_SMU 

System Management Unit (power management, clock control, thermal monitoring, etc...)

AMDSMI_FW_ID_CP_CE 

Compute Processor - Command_Engine (fetch, decode, dispatch)

AMDSMI_FW_ID_CP_PFP 

Compute Processor - Pixel Front End Processor (pixelating process)

AMDSMI_FW_ID_CP_ME 

Compute Processor - Micro Engine (specialize processing)

AMDSMI_FW_ID_CP_MEC_JT1 

Compute Processor - Micro Engine Controler Job Table 1 (queues, scheduling)

AMDSMI_FW_ID_CP_MEC_JT2 

Compute Processor - Micro Engine Controler Job Table 2 (queues, scheduling)

AMDSMI_FW_ID_CP_MEC1 

Compute Processor - Micro Engine Controler 1 (scheduling, managing resources)

AMDSMI_FW_ID_CP_MEC2 

Compute Processor - Micro Engine Controler 2 (scheduling, managing resources)

AMDSMI_FW_ID_RLC 

Rasterizer and L2 Cache (rasterization processs)

AMDSMI_FW_ID_SDMA0 

System Direct Memory Access 0 (high speed data transfers)

AMDSMI_FW_ID_SDMA1 

System Direct Memory Access 1 (high speed data transfers)

AMDSMI_FW_ID_SDMA2 

System Direct Memory Access 2 (high speed data transfers)

AMDSMI_FW_ID_SDMA3 

System Direct Memory Access 3 (high speed data transfers)

AMDSMI_FW_ID_SDMA4 

System Direct Memory Access 4 (high speed data transfers)

AMDSMI_FW_ID_SDMA5 

System Direct Memory Access 5 (high speed data transfers)

AMDSMI_FW_ID_SDMA6 

System Direct Memory Access 6 (high speed data transfers)

AMDSMI_FW_ID_SDMA7 

System Direct Memory Access 7 (high speed data transfers)

AMDSMI_FW_ID_VCN 

Video Core Next (encoding and decoding)

AMDSMI_FW_ID_UVD 

Unified Video Decoder (decode specific video formats)

AMDSMI_FW_ID_VCE 

Video Coding Engine (Encoding video)

AMDSMI_FW_ID_ISP 

Image Signal Processor (processing raw image data from sensors)

AMDSMI_FW_ID_DMCU_ERAM 

Digital Micro Controller Unit - Embedded RAM (memory used by DMU)

AMDSMI_FW_ID_DMCU_ISR 

Digital Micro Controller Unit - Interrupt Service Routine (interrupt handlers)

AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM 

Rasterizier and L2 Cache Restore List Graphics Processor Memory.

AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM 

Rasterizier and L2 Cache Restore List System RAM Memory.

AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL 

Rasterizier and L2 Cache Restore List Control.

AMDSMI_FW_ID_RLC_V 

Rasterizier and L2 Cache Virtual memory.

AMDSMI_FW_ID_MMSCH 

Multi-Media Shader Hardware Scheduler.

AMDSMI_FW_ID_PSP_SYSDRV 

Platform Security Processor System Driver.

AMDSMI_FW_ID_PSP_SOSDRV 

Platform Security Processor Secure Operating System Driver.

AMDSMI_FW_ID_PSP_TOC 

Platform Security Processor Table of Contents.

AMDSMI_FW_ID_PSP_KEYDB 

Platform Security Processor Table of Contents.

AMDSMI_FW_ID_DFC 

Data Fabric Controler (bandwidth and coherency)

AMDSMI_FW_ID_PSP_SPL 

Platform Security Processor Secure Program Loader.

AMDSMI_FW_ID_DRV_CAP 

Driver Capabilities (capabilities, features)

AMDSMI_FW_ID_MC 

Memory Contoller (RAM and VRAM)

AMDSMI_FW_ID_PSP_BL 

Platform Security Processor Bootloader (initial firmware)

AMDSMI_FW_ID_CP_PM4 

Compute Processor Packet Processor 4 (processing command packets)

AMDSMI_FW_ID_RLC_P 

Rasterizier and L2 Cache Partition.

AMDSMI_FW_ID_SEC_POLICY_STAGE2 

Security Policy Stage 2 (security features)

AMDSMI_FW_ID_REG_ACCESS_WHITELIST 

Register Access Whitelist (Prevent unathorizied access)

AMDSMI_FW_ID_IMU_DRAM 

Input/Output Memory Management Unit - Dynamic RAM.

AMDSMI_FW_ID_IMU_IRAM 

Input/Output Memory Management Unit - Instruction RAM.

AMDSMI_FW_ID_SDMA_TH0 

System Direct Memory Access - Thread Handler 0.

AMDSMI_FW_ID_SDMA_TH1 

System Direct Memory Access - Thread Handler 1.

AMDSMI_FW_ID_CP_MES 

Compute Processor - Micro Engine Scheduler.

AMDSMI_FW_ID_MES_KIQ 

Micro Engine Scheduler - Kernel Indirect Queue.

AMDSMI_FW_ID_MES_STACK 

Micro Engine Scheduler - Stack.

AMDSMI_FW_ID_MES_THREAD1 

Micro Engine Scheduler - Thread 1.

AMDSMI_FW_ID_MES_THREAD1_STACK 

Micro Engine Scheduler - Thread 1 Stack.

AMDSMI_FW_ID_RLX6 

Hardware Block RLX6.

AMDSMI_FW_ID_RLX6_DRAM_BOOT 

Hardware Block RLX6 - Dynamic Ram Boot.

AMDSMI_FW_ID_RS64_ME 

Hardware Block RS64 - Micro Engine.

AMDSMI_FW_ID_RS64_ME_P0_DATA 

Hardware Block RS64 - Micro Engine Partition 0 Data.

AMDSMI_FW_ID_RS64_ME_P1_DATA 

Hardware Block RS64 - Micro Engine Partition 1 Data.

AMDSMI_FW_ID_RS64_PFP 

Hardware Block RS64 - Pixel Front End Processor.

AMDSMI_FW_ID_RS64_PFP_P0_DATA 

Hardware Block RS64 - Pixel Front End Processor Partition 0 Data.

AMDSMI_FW_ID_RS64_PFP_P1_DATA 

Hardware Block RS64 - Pixel Front End Processor Partition 1 Data.

AMDSMI_FW_ID_RS64_MEC 

Hardware Block RS64 - Micro Engine Controller.

AMDSMI_FW_ID_RS64_MEC_P0_DATA 

Hardware Block RS64 - Micro Engine Controller Partition 0 Data.

AMDSMI_FW_ID_RS64_MEC_P1_DATA 

Hardware Block RS64 - Micro Engine Controller Partition 1 Data.

AMDSMI_FW_ID_RS64_MEC_P2_DATA 

Hardware Block RS64 - Micro Engine Controller Partition 2 Data.

AMDSMI_FW_ID_RS64_MEC_P3_DATA 

Hardware Block RS64 - Micro Engine Controller Partition 3 Data.

AMDSMI_FW_ID_PPTABLE 

Power Policy Table (power management policies)

AMDSMI_FW_ID_PSP_SOC 

Platform Security Processor - System On a Chip.

AMDSMI_FW_ID_PSP_DBG 

Platform Security Processor - Debug.

AMDSMI_FW_ID_PSP_INTF 

Platform Security Processor - Interface.

AMDSMI_FW_ID_RLX6_CORE1 

Hardware Block RLX6 - Core 1.

AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1 

Hardware Block RLX6 Core 1 - Dynamic RAM Boot.

AMDSMI_FW_ID_RLCV_LX7 

Hardware Block RLCV - Subsystem LX7.

AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST 

Rasterizier and L2 Cache - Save Restore List.

AMDSMI_FW_ID_ASD 

Asynchronous Shader Dispatcher.

AMDSMI_FW_ID_TA_RAS 

Trusted Applications - Reliablity Availability and Serviceability.

AMDSMI_FW_ID_TA_XGMI 

Trusted Applications - Reliablity XGMI.

AMDSMI_FW_ID_XGMI 

XGMI (Interconnect) Firmware.

AMDSMI_FW_ID_RLC_SRLG 

Rasterizier and L2 Cache - Shared Resource Local Group.

AMDSMI_FW_ID_RLC_SRLS 

Rasterizier and L2 Cache - Shared Resource Local Segment.

AMDSMI_FW_ID_PM 

Power Management Firmware.

AMDSMI_FW_ID_SMC 

System Management Controller Firmware.

AMDSMI_FW_ID_DMCU 

Display Micro-Controller Unit.

AMDSMI_FW_ID_PSP_RAS 

Platform Security Processor - Reliability, Availability, and Serviceability Firmware.

AMDSMI_FW_ID_P2S_TABLE 

Processor-to-System Table Firmware.

AMDSMI_FW_ID_PLDM_BUNDLE 

Platform Level Data Model Firmware Bundle.

◆ amdsmi_virtualization_mode_t

Variant placeholder.

Place-holder "variant" for functions that have don't have any variants, but do have monitors or sensors.

Enumerator
AMDSMI_VIRTUALIZATION_MODE_UNKNOWN 

Unknown Virtualization Mode.

AMDSMI_VIRTUALIZATION_MODE_BAREMETAL 

Baremetal Virtualization Mode.

AMDSMI_VIRTUALIZATION_MODE_HOST 

Host Virtualization Mode.

AMDSMI_VIRTUALIZATION_MODE_GUEST 

Guest Virtualization Mode.

AMDSMI_VIRTUALIZATION_MODE_PASSTHROUGH 

Passthrough Virtualization Mode.

◆ amdsmi_affinity_scope_t

Scope for Numa affinity or Socket affinity.

Enumerator
AMDSMI_AFFINITY_SCOPE_NODE 

Memory affinity as numa node.

AMDSMI_AFFINITY_SCOPE_SOCKET 

socket affinity

◆ amdsmi_cper_sev_t

Cper sev.

Enumerator
AMDSMI_CPER_SEV_NON_FATAL_UNCORRECTED 

CPER Non-Fatal Uncorrected severity.

AMDSMI_CPER_SEV_FATAL 

CPER Fatal severity.

AMDSMI_CPER_SEV_NON_FATAL_CORRECTED 

CPER Non-Fatal Corrected severity.

AMDSMI_CPER_SEV_NUM 

CPER severity Number.

AMDSMI_CPER_SEV_UNUSED 

CPER Unused severity.

◆ amdsmi_cper_notify_type_t

Cper notify.

Enumerator
AMDSMI_CPER_NOTIFY_TYPE_CMC 

Corrected Memory Check.

AMDSMI_CPER_NOTIFY_TYPE_CPE 

Corrected Platform Error.

AMDSMI_CPER_NOTIFY_TYPE_MCE 

Machine Check Exception.

AMDSMI_CPER_NOTIFY_TYPE_PCIE 

PCI Express Error.

AMDSMI_CPER_NOTIFY_TYPE_INIT 

Initialization Error.

AMDSMI_CPER_NOTIFY_TYPE_NMI 

Non_Maskable Interrupt.

AMDSMI_CPER_NOTIFY_TYPE_BOOT 

Boot Error.

AMDSMI_CPER_NOTIFY_TYPE_DMAR 

Direct Memory Access Remapping Error.

AMDSMI_CPER_NOTIFY_TYPE_SEA 

System Error Architecture.

AMDSMI_CPER_NOTIFY_TYPE_SEI 

System Error Interface.

AMDSMI_CPER_NOTIFY_TYPE_PEI 

Platform Error Interface.

AMDSMI_CPER_NOTIFY_TYPE_CXL_COMPONENT 

Compute Express Link Component Error.

◆ amdsmi_pp_throttler_type_t

This enum represents bit mask positions for PP Throttler events.

These values represent bit positions in the amdsmi_event_entry_t data field for PP throttler events:

  • If bit 0 is active then a PP throttler PROCHOT event occurs.
  • If bit 2 is active then a PP throttler socket event occurs.
  • If bit 3 is active then a PP throttler VR event occurs.
  • If bit 4 is active then a PP throttler HBM event occurs.

◆ amdsmi_profile_capability_type_t

Profile Capability.

Enumerator
AMDSMI_PROFILE_CAPABILITY_MEMORY 

memory

AMDSMI_PROFILE_CAPABILITY_ENCODE 

encode engine

AMDSMI_PROFILE_CAPABILITY_DECODE 

decode engine

AMDSMI_PROFILE_CAPABILITY_COMPUTE 

compute engine

◆ amdsmi_metric_type_t

Metric Type.

Enumerator
AMDSMI_METRIC_TYPE_COUNTER 

counter metric

AMDSMI_METRIC_TYPE_CHIPLET 

chiplet metric

AMDSMI_METRIC_TYPE_INST 

instantaneous metric

AMDSMI_METRIC_TYPE_ACC 

accumulated metric

◆ amdsmi_vf_mode_t

Enumerator
AMDSMI_VF_MODE_ALL 

All VF counts supported.