rocm_smi_lib/queries/
common_structures.rs1use rocm_smi_lib_sys::bindings::{*};
2
3pub type RsmiRange = rsmi_range_t;
4pub const RSMI_RANGE_DEFAULT: RsmiRange = RsmiRange {
5 lower_bound: 0,
6 upper_bound: 0,
7};
8pub type RsmiOdVddcPoint = rsmi_od_vddc_point;
9
10#[derive(Debug, Clone, Copy)]
11#[repr(u32)]
12pub enum RsmiDevPerfLevel {
13 Auto = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_AUTO,
15 Low = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_LOW,
17 High = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_HIGH,
19 Manual = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_MANUAL,
21 StableStd = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_STABLE_STD,
23 StablePeak = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_STABLE_PEAK,
25 StableMinMclk = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_STABLE_MIN_MCLK,
27 StableMinSclk = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_STABLE_MIN_SCLK,
29 Determinism = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_DETERMINISM,
31 Unknown = rsmi_dev_perf_level_t_RSMI_DEV_PERF_LEVEL_UNKNOWN,
33}
34
35#[derive(Debug, Clone, Copy)]
36#[repr(u64)]
37pub enum RsmiGpuBlock {
38 Invalid = rsmi_gpu_block_t_RSMI_GPU_BLOCK_INVALID,
40 Umc = rsmi_gpu_block_t_RSMI_GPU_BLOCK_UMC,
42 Sdma = rsmi_gpu_block_t_RSMI_GPU_BLOCK_SDMA,
44 Gfx = rsmi_gpu_block_t_RSMI_GPU_BLOCK_GFX,
46 Mmhub = rsmi_gpu_block_t_RSMI_GPU_BLOCK_MMHUB,
48 Athub = rsmi_gpu_block_t_RSMI_GPU_BLOCK_ATHUB,
50 PcieBif = rsmi_gpu_block_t_RSMI_GPU_BLOCK_PCIE_BIF,
52 Hdp = rsmi_gpu_block_t_RSMI_GPU_BLOCK_HDP,
54 XgmiWafl = rsmi_gpu_block_t_RSMI_GPU_BLOCK_XGMI_WAFL,
56 Df = rsmi_gpu_block_t_RSMI_GPU_BLOCK_DF,
58 Smn = rsmi_gpu_block_t_RSMI_GPU_BLOCK_SMN,
60 Sem = rsmi_gpu_block_t_RSMI_GPU_BLOCK_SEM,
62 Mp0 = rsmi_gpu_block_t_RSMI_GPU_BLOCK_MP0,
64 Mp1 = rsmi_gpu_block_t_RSMI_GPU_BLOCK_MP1,
66 Fuse = rsmi_gpu_block_t_RSMI_GPU_BLOCK_FUSE,
68 Reserved = rsmi_gpu_block_t_RSMI_GPU_BLOCK_RESERVED,
70}
71
72#[derive(Debug, Clone, Copy)]
73#[repr(u32)]
74pub enum RsmiRasErrState {
75 None = rsmi_ras_err_state_t_RSMI_RAS_ERR_STATE_NONE,
77 Disabled = rsmi_ras_err_state_t_RSMI_RAS_ERR_STATE_DISABLED,
79 Parity = rsmi_ras_err_state_t_RSMI_RAS_ERR_STATE_PARITY,
81 SingC = rsmi_ras_err_state_t_RSMI_RAS_ERR_STATE_SING_C,
83 MultUc = rsmi_ras_err_state_t_RSMI_RAS_ERR_STATE_MULT_UC,
85 Poison = rsmi_ras_err_state_t_RSMI_RAS_ERR_STATE_POISON,
87 Enabled = rsmi_ras_err_state_t_RSMI_RAS_ERR_STATE_ENABLED,
89 Invalid = rsmi_ras_err_state_t_RSMI_RAS_ERR_STATE_INVALID,
91}
92
93#[derive(Debug, Clone, Copy)]
94#[repr(u32)]
95pub enum RsmiVoltageMetric {
96 Current = rsmi_voltage_metric_t_RSMI_VOLT_CURRENT,
98 Max = rsmi_voltage_metric_t_RSMI_VOLT_MAX,
100 MinCrit = rsmi_voltage_metric_t_RSMI_VOLT_MIN_CRIT,
102 Min = rsmi_voltage_metric_t_RSMI_VOLT_MIN,
104 MaxCrit = rsmi_voltage_metric_t_RSMI_VOLT_MAX_CRIT,
106 Average = rsmi_voltage_metric_t_RSMI_VOLT_AVERAGE,
108 Lowest = rsmi_voltage_metric_t_RSMI_VOLT_LOWEST,
110 Highest = rsmi_voltage_metric_t_RSMI_VOLT_HIGHEST,
112}
113
114#[derive(Debug, Clone, Copy)]
115#[repr(u32)]
116
117pub enum RsmiTemperatureMetric {
118 Current = rsmi_temperature_metric_t_RSMI_TEMP_CURRENT,
120 Max = rsmi_temperature_metric_t_RSMI_TEMP_MAX,
122 Min = rsmi_temperature_metric_t_RSMI_TEMP_MIN,
124 MaxHyst = rsmi_temperature_metric_t_RSMI_TEMP_MAX_HYST,
126 MinHyst = rsmi_temperature_metric_t_RSMI_TEMP_MIN_HYST,
128 Critical = rsmi_temperature_metric_t_RSMI_TEMP_CRITICAL,
130 CriticalHyst = rsmi_temperature_metric_t_RSMI_TEMP_CRITICAL_HYST,
132 Emergency = rsmi_temperature_metric_t_RSMI_TEMP_EMERGENCY,
134 EmergencyHyst = rsmi_temperature_metric_t_RSMI_TEMP_EMERGENCY_HYST,
136 CritMin = rsmi_temperature_metric_t_RSMI_TEMP_CRIT_MIN,
138 CritMinHyst = rsmi_temperature_metric_t_RSMI_TEMP_CRIT_MIN_HYST,
140 Offset = rsmi_temperature_metric_t_RSMI_TEMP_OFFSET,
142 Lowest = rsmi_temperature_metric_t_RSMI_TEMP_LOWEST,
144 Invalid = rsmi_temperature_metric_t_RSMI_TEMP_LAST,
146}
147
148#[derive(Debug, Clone, Copy)]#[repr(u32)]
149
150pub enum RsmiTemperatureType {
151 Edge = rsmi_temperature_type_t_RSMI_TEMP_TYPE_EDGE,
153 Junction = rsmi_temperature_type_t_RSMI_TEMP_TYPE_JUNCTION,
155 Memory = rsmi_temperature_type_t_RSMI_TEMP_TYPE_MEMORY,
157 Hbm0 = rsmi_temperature_type_t_RSMI_TEMP_TYPE_HBM_0,
159 Hbm1 = rsmi_temperature_type_t_RSMI_TEMP_TYPE_HBM_1,
161 Hbm2 = rsmi_temperature_type_t_RSMI_TEMP_TYPE_HBM_2,
163 Hbm3 = rsmi_temperature_type_t_RSMI_TEMP_TYPE_HBM_3,
165 Invalid = rsmi_temperature_type_t_RSMI_TEMP_TYPE_INVALID,
167}