SWDEV-457337 - Fix header alignment
Change-Id: I9f25f6c4f0d00c76b66d13162f30be11368f5b59 Signed-off-by: Dalibor Stanisavljevic <Dalibor.Stanisavljevic@amd.com>
This commit is contained in:
@@ -154,11 +154,11 @@ int main() {
|
||||
// For each device of the socket, get name and temperature.
|
||||
for (uint32_t j=0; j < device_count; j++) {
|
||||
// Get device type. Since the amdsmi is initialized with
|
||||
// AMD_SMI_INIT_AMD_GPUS, the processor_type must be AMD_GPU.
|
||||
// AMD_SMI_INIT_AMD_GPUS, the processor_type must be AMDSMI_PROCESSOR_TYPE_AMD_GPU.
|
||||
processor_type_t processor_type;
|
||||
ret = amdsmi_get_processor_type(processor_handles[j], &processor_type);
|
||||
if (processor_type != AMD_GPU) {
|
||||
std::cout << "Expect AMD_GPU device type!\n";
|
||||
if (processor_type != AMDSMI_PROCESSOR_TYPE_AMD_GPU) {
|
||||
std::cout << "Expect AMDSMI_PROCESSOR_TYPE_AMD_GPU device type!\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ int main() {
|
||||
|
||||
// Get temperature
|
||||
int64_t val_i64 = 0;
|
||||
ret = amdsmi_get_temp_metric(processor_handles[j], TEMPERATURE_TYPE_EDGE,
|
||||
ret = amdsmi_get_temp_metric(processor_handles[j], AMDSMI_TEMPERATURE_TYPE_EDGE,
|
||||
AMDSMI_TEMP_CURRENT, &val_i64);
|
||||
std::cout << "\t\tTemperature: " << val_i64 << "C" << std::endl;
|
||||
}
|
||||
@@ -212,8 +212,8 @@ int main(int argc, char **argv) {
|
||||
for (uint32_t i = 0; i < socket_count; i++) {
|
||||
uint32_t cpu_count = 0;
|
||||
|
||||
// Set processor type as AMD_CPU
|
||||
processor_type_t processor_type = AMD_CPU;
|
||||
// Set processor type as AMDSMI_PROCESSOR_TYPE_AMD_CPU
|
||||
processor_type_t processor_type = AMDSMI_PROCESSOR_TYPE_AMD_CPU;
|
||||
ret = amdsmi_get_processor_handles_by_type(sockets[i], processor_type, nullptr, &cpu_count);
|
||||
|
||||
// Allocate the memory for the cpus
|
||||
|
||||
@@ -691,7 +691,7 @@ class AMDSMICommands():
|
||||
|
||||
# Get vram type string
|
||||
vram_type_enum = vram_info['vram_type']
|
||||
if vram_type_enum == amdsmi_interface.amdsmi_wrapper.VRAM_TYPE_GDDR6:
|
||||
if vram_type_enum == amdsmi_interface.amdsmi_wrapper.AMDSMI_VRAM_TYPE_GDDR6:
|
||||
vram_type = "GDDR6"
|
||||
else:
|
||||
vram_type = amdsmi_interface.amdsmi_wrapper.amdsmi_vram_type_t__enumvalues[vram_type_enum]
|
||||
@@ -712,13 +712,13 @@ class AMDSMICommands():
|
||||
vram_info_dict['vendor'] = vram_vendor
|
||||
|
||||
# Populate vram size with unit
|
||||
vram_info_dict['size'] = vram_info['vram_size_mb']
|
||||
vram_info_dict['size'] = vram_info['vram_size']
|
||||
vram_size_unit = "MB"
|
||||
if self.logger.is_human_readable_format():
|
||||
vram_info_dict['size'] = f"{vram_info['vram_size_mb']} {vram_size_unit}"
|
||||
vram_info_dict['size'] = f"{vram_info['vram_size']} {vram_size_unit}"
|
||||
|
||||
if self.logger.is_json_format():
|
||||
vram_info_dict['size'] = {"value" : vram_info['vram_size_mb'],
|
||||
vram_info_dict['size'] = {"value" : vram_info['vram_size'],
|
||||
"unit" : vram_size_unit}
|
||||
|
||||
except amdsmi_exception.AmdSmiLibraryException as e:
|
||||
|
||||
+169
-169
@@ -71,146 +71,146 @@
|
||||
|
||||
void getFWNameFromId(int id, char *name)
|
||||
{
|
||||
switch (id) {
|
||||
case FW_ID_SMU:
|
||||
strcpy(name, "SMU");
|
||||
break;
|
||||
case FW_ID_CP_CE:
|
||||
strcpy(name, "CP_CE");
|
||||
break;
|
||||
case FW_ID_CP_PFP:
|
||||
strcpy(name, "CP_PFP");
|
||||
break;
|
||||
case FW_ID_CP_ME:
|
||||
strcpy(name, "CP_ME");
|
||||
break;
|
||||
case FW_ID_CP_MEC_JT1:
|
||||
strcpy(name, "CP_MEC_JT1");
|
||||
break;
|
||||
case FW_ID_CP_MEC_JT2:
|
||||
strcpy(name, "CP_MEC_JT2");
|
||||
break;
|
||||
case FW_ID_CP_MEC1:
|
||||
strcpy(name, "CP_MEC1");
|
||||
break;
|
||||
case FW_ID_CP_MEC2:
|
||||
strcpy(name, "CP_MEC2");
|
||||
break;
|
||||
case FW_ID_RLC:
|
||||
strcpy(name, "RLC");
|
||||
break;
|
||||
case FW_ID_SDMA0:
|
||||
strcpy(name, "SDMA0");
|
||||
break;
|
||||
case FW_ID_SDMA1:
|
||||
strcpy(name, "SDMA1");
|
||||
break;
|
||||
case FW_ID_SDMA2:
|
||||
strcpy(name, "SDMA2");
|
||||
break;
|
||||
case FW_ID_SDMA3:
|
||||
strcpy(name, "SDMA3");
|
||||
break;
|
||||
case FW_ID_SDMA4:
|
||||
strcpy(name, "SDMA4");
|
||||
break;
|
||||
case FW_ID_SDMA5:
|
||||
strcpy(name, "SDMA5");
|
||||
break;
|
||||
case FW_ID_SDMA6:
|
||||
strcpy(name, "SDMA6");
|
||||
break;
|
||||
case FW_ID_SDMA7:
|
||||
strcpy(name, "SDMA7");
|
||||
break;
|
||||
case FW_ID_VCN:
|
||||
strcpy(name, "VCN");
|
||||
break;
|
||||
case FW_ID_UVD:
|
||||
strcpy(name, "UVD");
|
||||
break;
|
||||
case FW_ID_VCE:
|
||||
strcpy(name, "VCE");
|
||||
break;
|
||||
case FW_ID_ISP:
|
||||
strcpy(name, "ISP");
|
||||
break;
|
||||
case FW_ID_DMCU_ERAM:
|
||||
strcpy(name, "DMCU_ERAM");
|
||||
break;
|
||||
case FW_ID_DMCU_ISR:
|
||||
strcpy(name, "DMCU_ISR");
|
||||
break;
|
||||
case FW_ID_RLC_RESTORE_LIST_GPM_MEM:
|
||||
strcpy(name, "RLC_RESTORE_LIST_GPM_MEM");
|
||||
break;
|
||||
case FW_ID_RLC_RESTORE_LIST_SRM_MEM:
|
||||
strcpy(name, "RLC_RESTORE_LIST_SRM_MEM");
|
||||
break;
|
||||
case FW_ID_RLC_RESTORE_LIST_CNTL:
|
||||
strcpy(name, "RLC_RESTORE_LIST_CNTL");
|
||||
break;
|
||||
case FW_ID_RLC_V:
|
||||
strcpy(name, "RLC_V");
|
||||
break;
|
||||
case FW_ID_MMSCH:
|
||||
strcpy(name, "MMSCH");
|
||||
break;
|
||||
case FW_ID_PSP_SYSDRV:
|
||||
strcpy(name, "PSP_SYSDRV");
|
||||
break;
|
||||
case FW_ID_PSP_SOSDRV:
|
||||
strcpy(name, "PSP_SOSDRV");
|
||||
break;
|
||||
case FW_ID_PSP_TOC:
|
||||
strcpy(name, "PSP_TOC");
|
||||
break;
|
||||
case FW_ID_PSP_KEYDB:
|
||||
strcpy(name, "PSP_KEYDB");
|
||||
break;
|
||||
case FW_ID_DFC:
|
||||
strcpy(name, "DFC");
|
||||
break;
|
||||
case FW_ID_PSP_SPL:
|
||||
strcpy(name, "PSP_SPL");
|
||||
break;
|
||||
case FW_ID_DRV_CAP:
|
||||
strcpy(name, "DRV_CAP");
|
||||
break;
|
||||
case FW_ID_MC:
|
||||
strcpy(name, "MC");
|
||||
break;
|
||||
case FW_ID_PSP_BL:
|
||||
strcpy(name, "PSP_BL");
|
||||
break;
|
||||
case FW_ID_CP_PM4:
|
||||
strcpy(name, "CP_PM4");
|
||||
break;
|
||||
case FW_ID_ASD:
|
||||
strcpy(name, "ID_ASD");
|
||||
break;
|
||||
case FW_ID_TA_RAS:
|
||||
strcpy(name, "ID_TA_RAS");
|
||||
break;
|
||||
case FW_ID_TA_XGMI:
|
||||
strcpy(name, "ID_TA_XGMI");
|
||||
break;
|
||||
case FW_ID_RLC_SRLG:
|
||||
strcpy(name, "ID_RLC_SRLG");
|
||||
break;
|
||||
case FW_ID_RLC_SRLS:
|
||||
strcpy(name, "ID_RLC_SRLS");
|
||||
break;
|
||||
case FW_ID_PM:
|
||||
strcpy(name, "ID_PM");
|
||||
break;
|
||||
case FW_ID_DMCU:
|
||||
strcpy(name, "ID_DMCU");
|
||||
break;
|
||||
default:
|
||||
strcpy(name, "");
|
||||
break;
|
||||
}
|
||||
switch (id) {
|
||||
case AMDSMI_FW_ID_SMU:
|
||||
strcpy(name, "SMU");
|
||||
break;
|
||||
case AMDSMI_FW_ID_CP_CE:
|
||||
strcpy(name, "CP_CE");
|
||||
break;
|
||||
case AMDSMI_FW_ID_CP_PFP:
|
||||
strcpy(name, "CP_PFP");
|
||||
break;
|
||||
case AMDSMI_FW_ID_CP_ME:
|
||||
strcpy(name, "CP_ME");
|
||||
break;
|
||||
case AMDSMI_FW_ID_CP_MEC_JT1:
|
||||
strcpy(name, "CP_MEC_JT1");
|
||||
break;
|
||||
case AMDSMI_FW_ID_CP_MEC_JT2:
|
||||
strcpy(name, "CP_MEC_JT2");
|
||||
break;
|
||||
case AMDSMI_FW_ID_CP_MEC1:
|
||||
strcpy(name, "CP_MEC1");
|
||||
break;
|
||||
case AMDSMI_FW_ID_CP_MEC2:
|
||||
strcpy(name, "CP_MEC2");
|
||||
break;
|
||||
case AMDSMI_FW_ID_RLC:
|
||||
strcpy(name, "RLC");
|
||||
break;
|
||||
case AMDSMI_FW_ID_SDMA0:
|
||||
strcpy(name, "SDMA0");
|
||||
break;
|
||||
case AMDSMI_FW_ID_SDMA1:
|
||||
strcpy(name, "SDMA1");
|
||||
break;
|
||||
case AMDSMI_FW_ID_SDMA2:
|
||||
strcpy(name, "SDMA2");
|
||||
break;
|
||||
case AMDSMI_FW_ID_SDMA3:
|
||||
strcpy(name, "SDMA3");
|
||||
break;
|
||||
case AMDSMI_FW_ID_SDMA4:
|
||||
strcpy(name, "SDMA4");
|
||||
break;
|
||||
case AMDSMI_FW_ID_SDMA5:
|
||||
strcpy(name, "SDMA5");
|
||||
break;
|
||||
case AMDSMI_FW_ID_SDMA6:
|
||||
strcpy(name, "SDMA6");
|
||||
break;
|
||||
case AMDSMI_FW_ID_SDMA7:
|
||||
strcpy(name, "SDMA7");
|
||||
break;
|
||||
case AMDSMI_FW_ID_VCN:
|
||||
strcpy(name, "VCN");
|
||||
break;
|
||||
case AMDSMI_FW_ID_UVD:
|
||||
strcpy(name, "UVD");
|
||||
break;
|
||||
case AMDSMI_FW_ID_VCE:
|
||||
strcpy(name, "VCE");
|
||||
break;
|
||||
case AMDSMI_FW_ID_ISP:
|
||||
strcpy(name, "ISP");
|
||||
break;
|
||||
case AMDSMI_FW_ID_DMCU_ERAM:
|
||||
strcpy(name, "DMCU_ERAM");
|
||||
break;
|
||||
case AMDSMI_FW_ID_DMCU_ISR:
|
||||
strcpy(name, "DMCU_ISR");
|
||||
break;
|
||||
case AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM:
|
||||
strcpy(name, "RLC_RESTORE_LIST_GPM_MEM");
|
||||
break;
|
||||
case AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM:
|
||||
strcpy(name, "RLC_RESTORE_LIST_SRM_MEM");
|
||||
break;
|
||||
case AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL:
|
||||
strcpy(name, "RLC_RESTORE_LIST_CNTL");
|
||||
break;
|
||||
case AMDSMI_FW_ID_RLC_V:
|
||||
strcpy(name, "RLC_V");
|
||||
break;
|
||||
case AMDSMI_FW_ID_MMSCH:
|
||||
strcpy(name, "MMSCH");
|
||||
break;
|
||||
case AMDSMI_FW_ID_PSP_SYSDRV:
|
||||
strcpy(name, "PSP_SYSDRV");
|
||||
break;
|
||||
case AMDSMI_FW_ID_PSP_SOSDRV:
|
||||
strcpy(name, "PSP_SOSDRV");
|
||||
break;
|
||||
case AMDSMI_FW_ID_PSP_TOC:
|
||||
strcpy(name, "PSP_TOC");
|
||||
break;
|
||||
case AMDSMI_FW_ID_PSP_KEYDB:
|
||||
strcpy(name, "PSP_KEYDB");
|
||||
break;
|
||||
case AMDSMI_FW_ID_DFC:
|
||||
strcpy(name, "DFC");
|
||||
break;
|
||||
case AMDSMI_FW_ID_PSP_SPL:
|
||||
strcpy(name, "PSP_SPL");
|
||||
break;
|
||||
case AMDSMI_FW_ID_DRV_CAP:
|
||||
strcpy(name, "DRV_CAP");
|
||||
break;
|
||||
case AMDSMI_FW_ID_MC:
|
||||
strcpy(name, "MC");
|
||||
break;
|
||||
case AMDSMI_FW_ID_PSP_BL:
|
||||
strcpy(name, "PSP_BL");
|
||||
break;
|
||||
case AMDSMI_FW_ID_CP_PM4:
|
||||
strcpy(name, "CP_PM4");
|
||||
break;
|
||||
case AMDSMI_FW_ID_ASD:
|
||||
strcpy(name, "ID_ASD");
|
||||
break;
|
||||
case AMDSMI_FW_ID_TA_RAS:
|
||||
strcpy(name, "ID_TA_RAS");
|
||||
break;
|
||||
case AMDSMI_FW_ID_TA_XGMI:
|
||||
strcpy(name, "ID_TA_XGMI");
|
||||
break;
|
||||
case AMDSMI_FW_ID_RLC_SRLG:
|
||||
strcpy(name, "ID_RLC_SRLG");
|
||||
break;
|
||||
case AMDSMI_FW_ID_RLC_SRLS:
|
||||
strcpy(name, "ID_RLC_SRLS");
|
||||
break;
|
||||
case AMDSMI_FW_ID_PM:
|
||||
strcpy(name, "ID_PM");
|
||||
break;
|
||||
case AMDSMI_FW_ID_DMCU:
|
||||
strcpy(name, "ID_DMCU");
|
||||
break;
|
||||
default:
|
||||
strcpy(name, "");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@@ -267,12 +267,12 @@ int main() {
|
||||
// For each device of the socket, get name and temperature.
|
||||
for (uint32_t j = 0; j < device_count; j++) {
|
||||
// Get device type. Since the amdsmi is initialized with
|
||||
// AMD_SMI_INIT_AMD_GPUS, the processor_type must be AMD_GPU.
|
||||
// AMD_SMI_INIT_AMD_GPUS, the processor_type must be AMDSMI_PROCESSOR_TYPE_AMD_GPU.
|
||||
processor_type_t processor_type = {};
|
||||
ret = amdsmi_get_processor_type(processor_handles[j], &processor_type);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
if (processor_type != AMD_GPU) {
|
||||
std::cout << "Expect AMD_GPU device type!\n";
|
||||
if (processor_type != AMDSMI_PROCESSOR_TYPE_AMD_GPU) {
|
||||
std::cout << "Expect AMDSMI_PROCESSOR_TYPE_AMD_GPU device type!\n";
|
||||
return AMDSMI_STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
@@ -282,10 +282,10 @@ int main() {
|
||||
CHK_AMDSMI_RET(ret)
|
||||
printf(" Output of amdsmi_get_gpu_device_bdf:\n");
|
||||
printf("\tDevice[%d] BDF %04lx:%02x:%02x.%d\n\n", i,
|
||||
bdf.fields.domain_number,
|
||||
bdf.fields.bus_number,
|
||||
bdf.fields.device_number,
|
||||
bdf.fields.function_number);
|
||||
bdf.domain_number,
|
||||
bdf.bus_number,
|
||||
bdf.device_number,
|
||||
bdf.function_number);
|
||||
|
||||
// Get handle from BDF
|
||||
amdsmi_processor_handle dev_handle;
|
||||
@@ -383,20 +383,20 @@ int main() {
|
||||
|
||||
// Get GFX clock measurements
|
||||
amdsmi_clk_info_t gfx_clk_values = {};
|
||||
ret = amdsmi_get_clock_info(processor_handles[j], CLK_TYPE_GFX,
|
||||
ret = amdsmi_get_clock_info(processor_handles[j], AMDSMI_CLK_TYPE_GFX,
|
||||
&gfx_clk_values);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
printf(" Output of amdsmi_get_clock_info:\n");
|
||||
printf("\tGPU GFX Max Clock: %d\n", gfx_clk_values.max_clk);
|
||||
printf("\tGPU GFX Current Clock: %d\n", gfx_clk_values.cur_clk);
|
||||
printf("\tGPU GFX Current Clock: %d\n", gfx_clk_values.clk);
|
||||
|
||||
// Get MEM clock measurements
|
||||
amdsmi_clk_info_t mem_clk_values = {};
|
||||
ret = amdsmi_get_clock_info(processor_handles[j], CLK_TYPE_MEM,
|
||||
ret = amdsmi_get_clock_info(processor_handles[j], AMDSMI_CLK_TYPE_MEM,
|
||||
&mem_clk_values);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
printf("\tGPU MEM Max Clock: %d\n", mem_clk_values.max_clk);
|
||||
printf("\tGPU MEM Current Clock: %d\n\n", mem_clk_values.cur_clk);
|
||||
printf("\tGPU MEM Current Clock: %d\n\n", mem_clk_values.clk);
|
||||
|
||||
// Get PCIe status
|
||||
amdsmi_pcie_info_t pcie_info = {};
|
||||
@@ -422,7 +422,7 @@ int main() {
|
||||
// Get VRAM temperature limit
|
||||
int64_t temperature = 0;
|
||||
ret = amdsmi_get_temp_metric(
|
||||
processor_handles[j], TEMPERATURE_TYPE_VRAM,
|
||||
processor_handles[j], AMDSMI_TEMPERATURE_TYPE_VRAM,
|
||||
AMDSMI_TEMP_CRITICAL, &temperature);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
printf(" Output of amdsmi_get_temp_metric:\n");
|
||||
@@ -430,7 +430,7 @@ int main() {
|
||||
|
||||
// Get GFX temperature limit
|
||||
ret = amdsmi_get_temp_metric(
|
||||
processor_handles[j], TEMPERATURE_TYPE_EDGE,
|
||||
processor_handles[j], AMDSMI_TEMPERATURE_TYPE_EDGE,
|
||||
AMDSMI_TEMP_CRITICAL, &temperature);
|
||||
if (ret != amdsmi_status_t::AMDSMI_STATUS_NOT_SUPPORTED) {
|
||||
CHK_AMDSMI_RET(ret)
|
||||
@@ -440,10 +440,10 @@ int main() {
|
||||
// Get temperature measurements
|
||||
// amdsmi_temperature_t edge_temp, hotspot_temp, vram_temp,
|
||||
// plx_temp;
|
||||
int64_t temp_measurements[TEMPERATURE_TYPE__MAX + 1];
|
||||
int64_t temp_measurements[AMDSMI_TEMPERATURE_TYPE__MAX + 1];
|
||||
amdsmi_temperature_type_t temp_types[4] = {
|
||||
TEMPERATURE_TYPE_EDGE, TEMPERATURE_TYPE_HOTSPOT,
|
||||
TEMPERATURE_TYPE_VRAM, TEMPERATURE_TYPE_PLX};
|
||||
AMDSMI_TEMPERATURE_TYPE_EDGE, AMDSMI_TEMPERATURE_TYPE_HOTSPOT,
|
||||
AMDSMI_TEMPERATURE_TYPE_VRAM, AMDSMI_TEMPERATURE_TYPE_PLX};
|
||||
for (const auto &temp_type : temp_types) {
|
||||
ret = amdsmi_get_temp_metric(
|
||||
processor_handles[j], temp_type,
|
||||
@@ -455,13 +455,13 @@ int main() {
|
||||
}
|
||||
printf(" Output of amdsmi_get_temp_metric:\n");
|
||||
printf("\tGPU Edge temp measurement: %ld\n",
|
||||
temp_measurements[TEMPERATURE_TYPE_EDGE]);
|
||||
temp_measurements[AMDSMI_TEMPERATURE_TYPE_EDGE]);
|
||||
printf("\tGPU Hotspot temp measurement: %ld\n",
|
||||
temp_measurements[TEMPERATURE_TYPE_HOTSPOT]);
|
||||
temp_measurements[AMDSMI_TEMPERATURE_TYPE_HOTSPOT]);
|
||||
printf("\tGPU VRAM temp measurement: %ld\n",
|
||||
temp_measurements[TEMPERATURE_TYPE_VRAM]);
|
||||
temp_measurements[AMDSMI_TEMPERATURE_TYPE_VRAM]);
|
||||
printf("\tGPU PLX temp measurement: %ld\n\n",
|
||||
temp_measurements[TEMPERATURE_TYPE_PLX]);
|
||||
temp_measurements[AMDSMI_TEMPERATURE_TYPE_PLX]);
|
||||
|
||||
// Get RAS features enabled
|
||||
char block_names[14][10] = {"UMC", "SDMA", "GFX", "MMHUB",
|
||||
@@ -542,10 +542,10 @@ int main() {
|
||||
uint64_t gfx = 0, enc = 0;
|
||||
char bdf_str[20];
|
||||
sprintf(bdf_str, "%04lx:%02x:%02x.%d",
|
||||
bdf.fields.domain_number,
|
||||
bdf.fields.bus_number,
|
||||
bdf.fields.device_number,
|
||||
bdf.fields.function_number);
|
||||
bdf.domain_number,
|
||||
bdf.bus_number,
|
||||
bdf.device_number,
|
||||
bdf.function_number);
|
||||
int num = 0;
|
||||
ret = amdsmi_get_gpu_process_list(processor_handles[j], &num_process, process_info_list);
|
||||
std::cout << "Allocation size for process list: " << num_process << "\n";
|
||||
@@ -635,7 +635,7 @@ int main() {
|
||||
|
||||
// Get temperature
|
||||
int64_t val_i64 = 0;
|
||||
ret = amdsmi_get_temp_metric(processor_handles[j], TEMPERATURE_TYPE_EDGE,
|
||||
ret = amdsmi_get_temp_metric(processor_handles[j], AMDSMI_TEMPERATURE_TYPE_EDGE,
|
||||
AMDSMI_TEMP_CURRENT, &val_i64);
|
||||
if (ret != amdsmi_status_t::AMDSMI_STATUS_NOT_SUPPORTED) {
|
||||
CHK_AMDSMI_RET(ret)
|
||||
@@ -674,10 +674,10 @@ int main() {
|
||||
CHK_AMDSMI_RET(ret)
|
||||
printf(" Output of amdsmi_get_gpu_metrics_info:\n");
|
||||
printf("\tDevice[%d] BDF %04lx:%02x:%02x.%d\n\n", i,
|
||||
bdf.fields.domain_number,
|
||||
bdf.fields.bus_number,
|
||||
bdf.fields.device_number,
|
||||
bdf.fields.function_number);
|
||||
bdf.domain_number,
|
||||
bdf.bus_number,
|
||||
bdf.device_number,
|
||||
bdf.function_number);
|
||||
|
||||
std::cout << "\t**.common_header.format_revision : "
|
||||
<< print_unsigned_int(gpu_metrics.common_header.format_revision) << "\n";
|
||||
|
||||
@@ -113,12 +113,12 @@ int main() {
|
||||
// For each device of the socket, get name and temperature.
|
||||
for (uint32_t j = 0; j < device_count; j++) {
|
||||
// Get device type. Since the amdsmi is initialized with
|
||||
// AMD_SMI_INIT_AMD_GPUS, the processor_type must be AMD_GPU.
|
||||
// AMD_SMI_INIT_AMD_GPUS, the processor_type must be AMDSMI_PROCESSOR_TYPE_AMD_GPU.
|
||||
processor_type_t processor_type = {};
|
||||
ret = amdsmi_get_processor_type(processor_handles[j], &processor_type);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
if (processor_type != AMD_GPU) {
|
||||
std::cout << "Expect AMD_GPU device type!\n";
|
||||
if (processor_type != AMDSMI_PROCESSOR_TYPE_AMD_GPU) {
|
||||
std::cout << "Expect AMDSMI_PROCESSOR_TYPE_AMD_GPU device type!\n";
|
||||
return AMDSMI_STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
@@ -137,10 +137,10 @@ int main() {
|
||||
CHK_AMDSMI_RET(ret)
|
||||
printf(" Output of amdsmi_get_gpu_device_bdf:\n");
|
||||
printf("\tDevice[%d] BDF %04lx:%02x:%02x.%d\n\n", i,
|
||||
bdf.fields.domain_number,
|
||||
bdf.fields.bus_number,
|
||||
bdf.fields.device_number,
|
||||
bdf.fields.function_number);
|
||||
bdf.domain_number,
|
||||
bdf.bus_number,
|
||||
bdf.device_number,
|
||||
bdf.function_number);
|
||||
|
||||
amdsmi_asic_info_t asic_info = {};
|
||||
ret = amdsmi_get_gpu_asic_info(processor_handles[j], &asic_info);
|
||||
@@ -183,63 +183,63 @@ int main() {
|
||||
printf(" Output of amdsmi_get_fw_info:\n");
|
||||
printf("\tFirmware version: %d\n", fw_information.num_fw_info);
|
||||
printf("\tSMU: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_SMU]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_SMU]
|
||||
.fw_version);
|
||||
printf("\tPM: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_PM]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_PM]
|
||||
.fw_version);
|
||||
printf("\tVCN: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_VCN]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_VCN]
|
||||
.fw_version);
|
||||
printf("\tCP_ME: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_ME]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_CP_ME]
|
||||
.fw_version);
|
||||
printf("\tCP_PFP: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_PFP]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_CP_PFP]
|
||||
.fw_version);
|
||||
printf("\tCP_CE: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_CE]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_CP_CE]
|
||||
.fw_version);
|
||||
printf("\tRLC: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_RLC]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_RLC]
|
||||
.fw_version);
|
||||
printf("\tCP_MEC1: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_MEC1]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_CP_MEC1]
|
||||
.fw_version);
|
||||
printf("\tCP_MEC2: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_CP_MEC2]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_CP_MEC2]
|
||||
.fw_version);
|
||||
printf("\tSDMA0: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_SDMA0]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_SDMA0]
|
||||
.fw_version);
|
||||
printf("\tMC: %ld\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_MC]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_MC]
|
||||
.fw_version);
|
||||
printf("\tRLC RESTORE LIST CNTL: %ld\n",
|
||||
fw_information
|
||||
.fw_info_list
|
||||
[amdsmi_fw_block_t::FW_ID_RLC_RESTORE_LIST_CNTL]
|
||||
[amdsmi_fw_block_t::AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL]
|
||||
.fw_version);
|
||||
printf("\tRLC RESTORE LIST GPM MEM: %ld\n",
|
||||
fw_information
|
||||
.fw_info_list
|
||||
[amdsmi_fw_block_t::FW_ID_RLC_RESTORE_LIST_GPM_MEM]
|
||||
[amdsmi_fw_block_t::AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM]
|
||||
.fw_version);
|
||||
printf("\tRLC RESTORE LIST SRM MEM: %ld\n",
|
||||
fw_information
|
||||
.fw_info_list
|
||||
[amdsmi_fw_block_t::FW_ID_RLC_RESTORE_LIST_SRM_MEM]
|
||||
[amdsmi_fw_block_t::AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM]
|
||||
.fw_version);
|
||||
printf(
|
||||
"\tPSP SOSDRV: %ld\n\n",
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::FW_ID_PSP_SOSDRV]
|
||||
fw_information.fw_info_list[amdsmi_fw_block_t::AMDSMI_FW_ID_PSP_SOSDRV]
|
||||
.fw_version);
|
||||
|
||||
// Get temperature measurements
|
||||
int64_t temp_measurements[TEMPERATURE_TYPE__MAX + 1];
|
||||
int64_t temp_measurements[AMDSMI_TEMPERATURE_TYPE__MAX + 1];
|
||||
amdsmi_temperature_type_t temp_types[4] = {
|
||||
TEMPERATURE_TYPE_EDGE, TEMPERATURE_TYPE_HOTSPOT,
|
||||
TEMPERATURE_TYPE_VRAM, TEMPERATURE_TYPE_PLX};
|
||||
AMDSMI_TEMPERATURE_TYPE_EDGE, AMDSMI_TEMPERATURE_TYPE_HOTSPOT,
|
||||
AMDSMI_TEMPERATURE_TYPE_VRAM, AMDSMI_TEMPERATURE_TYPE_PLX};
|
||||
for (const auto &temp_type : temp_types) {
|
||||
ret = amdsmi_get_temp_metric(
|
||||
processor_handles[j], temp_type,
|
||||
@@ -249,13 +249,13 @@ int main() {
|
||||
}
|
||||
printf(" Output of amdsmi_get_temp_metric:\n");
|
||||
printf("\tGPU Edge temp measurement: %ld\n",
|
||||
temp_measurements[TEMPERATURE_TYPE_EDGE]);
|
||||
temp_measurements[AMDSMI_TEMPERATURE_TYPE_EDGE]);
|
||||
printf("\tGPU Hotspot temp measurement: %ld\n",
|
||||
temp_measurements[TEMPERATURE_TYPE_HOTSPOT]);
|
||||
temp_measurements[AMDSMI_TEMPERATURE_TYPE_HOTSPOT]);
|
||||
printf("\tGPU VRAM temp measurement: %ld\n",
|
||||
temp_measurements[TEMPERATURE_TYPE_VRAM]);
|
||||
temp_measurements[AMDSMI_TEMPERATURE_TYPE_VRAM]);
|
||||
printf("\tGPU PLX temp measurement: %ld\n\n",
|
||||
temp_measurements[TEMPERATURE_TYPE_PLX]);
|
||||
temp_measurements[AMDSMI_TEMPERATURE_TYPE_PLX]);
|
||||
|
||||
// Get bad pages
|
||||
char bad_page_status_names[3][15] = {"RESERVED", "PENDING",
|
||||
@@ -310,7 +310,7 @@ int main() {
|
||||
|
||||
// Get temperature
|
||||
int64_t val_i64 = 0;
|
||||
ret = amdsmi_get_temp_metric(processor_handles[j], TEMPERATURE_TYPE_EDGE,
|
||||
ret = amdsmi_get_temp_metric(processor_handles[j], AMDSMI_TEMPERATURE_TYPE_EDGE,
|
||||
AMDSMI_TEMP_CURRENT, &val_i64);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
printf(" Output of amdsmi_get_temp_metric:\n");
|
||||
|
||||
@@ -104,8 +104,8 @@ int main(int argc, char **argv) {
|
||||
uint32_t cpu_count = 0;
|
||||
uint32_t core_count = 0;
|
||||
|
||||
// Set processor type as AMD_CPU
|
||||
processor_type_t processor_type = AMD_CPU;
|
||||
// Set processor type as AMDSMI_PROCESSOR_TYPE_AMD_CPU
|
||||
processor_type_t processor_type = AMDSMI_PROCESSOR_TYPE_AMD_CPU;
|
||||
ret = amdsmi_get_processor_handles_by_type(sockets[i], processor_type, nullptr, &cpu_count);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
|
||||
@@ -116,8 +116,8 @@ int main(int argc, char **argv) {
|
||||
ret = amdsmi_get_processor_handles_by_type(sockets[i], processor_type, &plist[0], &cpu_count);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
|
||||
// Set processor type as AMD_CPU_CORE
|
||||
processor_type = AMD_CPU_CORE;
|
||||
// Set processor type as AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE
|
||||
processor_type = AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE;
|
||||
ret = amdsmi_get_processor_handles_by_type(sockets[i], processor_type, nullptr, &core_count);
|
||||
CHK_AMDSMI_RET(ret)
|
||||
|
||||
|
||||
+148
-146
@@ -171,8 +171,8 @@ typedef enum {
|
||||
} amdsmi_mm_ip_t;
|
||||
|
||||
typedef enum {
|
||||
CONTAINER_LXC,
|
||||
CONTAINER_DOCKER,
|
||||
AMDSMI_CONTAINER_LXC,
|
||||
AMDSMI_CONTAINER_DOCKER,
|
||||
} amdsmi_container_types_t;
|
||||
|
||||
//! opaque handler point to underlying implementation
|
||||
@@ -184,18 +184,18 @@ typedef void *amdsmi_cpusocket_handle;
|
||||
|
||||
/**
|
||||
* @brief Processor types detectable by AMD SMI
|
||||
* AMD_CPU - CPU Socket is a physical component that holds the CPU.
|
||||
* AMD_CPU_CORE - CPU Cores are number of individual processing units within the CPU.
|
||||
* AMD_APU - Combination of AMD_CPU and integrated GPU on single die
|
||||
* 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
|
||||
*/
|
||||
typedef enum {
|
||||
UNKNOWN = 0,
|
||||
AMD_GPU,
|
||||
AMD_CPU,
|
||||
NON_AMD_GPU,
|
||||
NON_AMD_CPU,
|
||||
AMD_CPU_CORE,
|
||||
AMD_APU
|
||||
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
|
||||
} processor_type_t;
|
||||
|
||||
/**
|
||||
@@ -256,23 +256,23 @@ typedef enum {
|
||||
} amdsmi_status_t;
|
||||
|
||||
/**
|
||||
* Clock types
|
||||
* @brief Clock types
|
||||
*/
|
||||
typedef enum {
|
||||
CLK_TYPE_SYS = 0x0, //!< System clock
|
||||
CLK_TYPE_FIRST = CLK_TYPE_SYS,
|
||||
CLK_TYPE_GFX = CLK_TYPE_SYS,
|
||||
CLK_TYPE_DF, //!< Data Fabric clock (for ASICs
|
||||
//!< running on a separate clock)
|
||||
CLK_TYPE_DCEF, //!< Display Controller Engine clock
|
||||
CLK_TYPE_SOC,
|
||||
CLK_TYPE_MEM,
|
||||
CLK_TYPE_PCIE,
|
||||
CLK_TYPE_VCLK0,
|
||||
CLK_TYPE_VCLK1,
|
||||
CLK_TYPE_DCLK0,
|
||||
CLK_TYPE_DCLK1,
|
||||
CLK_TYPE__MAX = CLK_TYPE_DCLK1
|
||||
AMDSMI_CLK_TYPE_SYS = 0x0, //!< System clock
|
||||
AMDSMI_CLK_TYPE_FIRST = AMDSMI_CLK_TYPE_SYS,
|
||||
AMDSMI_CLK_TYPE_GFX = AMDSMI_CLK_TYPE_SYS,
|
||||
AMDSMI_CLK_TYPE_DF, //!< Data Fabric clock (for ASICs
|
||||
//!< running on a separate clock)
|
||||
AMDSMI_CLK_TYPE_DCEF, //!< Display Controller Engine clock
|
||||
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
|
||||
} amdsmi_clk_type_t;
|
||||
|
||||
/**
|
||||
@@ -280,16 +280,16 @@ typedef enum {
|
||||
* various compute partitioning settings.
|
||||
*/
|
||||
typedef enum {
|
||||
COMPUTE_PARTITION_INVALID = 0,
|
||||
COMPUTE_PARTITION_CPX, //!< Core mode (CPX)- Per-chip XCC with
|
||||
AMDSMI_COMPUTE_PARTITION_INVALID = 0,
|
||||
AMDSMI_COMPUTE_PARTITION_CPX, //!< Core mode (CPX)- Per-chip XCC with
|
||||
//!< shared memory
|
||||
COMPUTE_PARTITION_SPX, //!< Single GPU mode (SPX)- All XCCs work
|
||||
AMDSMI_COMPUTE_PARTITION_SPX, //!< Single GPU mode (SPX)- All XCCs work
|
||||
//!< together with shared memory
|
||||
COMPUTE_PARTITION_DPX, //!< Dual GPU mode (DPX)- Half XCCs work
|
||||
AMDSMI_COMPUTE_PARTITION_DPX, //!< Dual GPU mode (DPX)- Half XCCs work
|
||||
//!< together with shared memory
|
||||
COMPUTE_PARTITION_TPX, //!< Triple GPU mode (TPX)- One-third XCCs
|
||||
AMDSMI_COMPUTE_PARTITION_TPX, //!< Triple GPU mode (TPX)- One-third XCCs
|
||||
//!< work together with shared memory
|
||||
COMPUTE_PARTITION_QPX //!< Quad GPU mode (QPX)- Quarter XCCs
|
||||
AMDSMI_COMPUTE_PARTITION_QPX //!< Quad GPU mode (QPX)- Quarter XCCs
|
||||
//!< work together with shared memory
|
||||
} amdsmi_compute_partition_type_t;
|
||||
|
||||
@@ -298,16 +298,16 @@ typedef enum {
|
||||
* memory partition types.
|
||||
*/
|
||||
typedef enum {
|
||||
MEMORY_PARTITION_UNKNOWN = 0,
|
||||
MEMORY_PARTITION_NPS1, //!< NPS1 - All CCD & XCD data is interleaved
|
||||
AMDSMI_MEMORY_PARTITION_UNKNOWN = 0,
|
||||
AMDSMI_MEMORY_PARTITION_NPS1, //!< NPS1 - All CCD & XCD data is interleaved
|
||||
//!< accross all 8 HBM stacks (all stacks/1).
|
||||
MEMORY_PARTITION_NPS2, //!< NPS2 - 2 sets of CCDs or 4 XCD interleaved
|
||||
AMDSMI_MEMORY_PARTITION_NPS2, //!< NPS2 - 2 sets of CCDs or 4 XCD interleaved
|
||||
//!< accross the 4 HBM stacks per AID pair
|
||||
//!< (8 stacks/2).
|
||||
MEMORY_PARTITION_NPS4, //!< NPS4 - Each XCD data is interleaved accross
|
||||
AMDSMI_MEMORY_PARTITION_NPS4, //!< NPS4 - Each XCD data is interleaved accross
|
||||
//!< accross 2 (or single) HBM stacks
|
||||
//!< (8 stacks/8 or 8 stacks/4).
|
||||
MEMORY_PARTITION_NPS8, //!< NPS8 - Each XCD uses a single HBM stack
|
||||
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
|
||||
@@ -319,17 +319,17 @@ typedef enum {
|
||||
* temperature reading should be obtained.
|
||||
*/
|
||||
typedef enum {
|
||||
TEMPERATURE_TYPE_EDGE,
|
||||
TEMPERATURE_TYPE_FIRST = TEMPERATURE_TYPE_EDGE,
|
||||
TEMPERATURE_TYPE_HOTSPOT,
|
||||
TEMPERATURE_TYPE_JUNCTION = TEMPERATURE_TYPE_HOTSPOT,
|
||||
TEMPERATURE_TYPE_VRAM,
|
||||
TEMPERATURE_TYPE_HBM_0,
|
||||
TEMPERATURE_TYPE_HBM_1,
|
||||
TEMPERATURE_TYPE_HBM_2,
|
||||
TEMPERATURE_TYPE_HBM_3,
|
||||
TEMPERATURE_TYPE_PLX,
|
||||
TEMPERATURE_TYPE__MAX = TEMPERATURE_TYPE_PLX
|
||||
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__MAX = AMDSMI_TEMPERATURE_TYPE_PLX
|
||||
} amdsmi_temperature_type_t;
|
||||
|
||||
/**
|
||||
@@ -337,101 +337,101 @@ typedef enum {
|
||||
* blocks.
|
||||
*/
|
||||
typedef enum {
|
||||
FW_ID_SMU = 1,
|
||||
FW_ID_FIRST = FW_ID_SMU,
|
||||
FW_ID_CP_CE,
|
||||
FW_ID_CP_PFP,
|
||||
FW_ID_CP_ME,
|
||||
FW_ID_CP_MEC_JT1,
|
||||
FW_ID_CP_MEC_JT2,
|
||||
FW_ID_CP_MEC1,
|
||||
FW_ID_CP_MEC2,
|
||||
FW_ID_RLC,
|
||||
FW_ID_SDMA0,
|
||||
FW_ID_SDMA1,
|
||||
FW_ID_SDMA2,
|
||||
FW_ID_SDMA3,
|
||||
FW_ID_SDMA4,
|
||||
FW_ID_SDMA5,
|
||||
FW_ID_SDMA6,
|
||||
FW_ID_SDMA7,
|
||||
FW_ID_VCN,
|
||||
FW_ID_UVD,
|
||||
FW_ID_VCE,
|
||||
FW_ID_ISP,
|
||||
FW_ID_DMCU_ERAM, /*eRAM*/
|
||||
FW_ID_DMCU_ISR, /*ISR*/
|
||||
FW_ID_RLC_RESTORE_LIST_GPM_MEM,
|
||||
FW_ID_RLC_RESTORE_LIST_SRM_MEM,
|
||||
FW_ID_RLC_RESTORE_LIST_CNTL,
|
||||
FW_ID_RLC_V,
|
||||
FW_ID_MMSCH,
|
||||
FW_ID_PSP_SYSDRV,
|
||||
FW_ID_PSP_SOSDRV,
|
||||
FW_ID_PSP_TOC,
|
||||
FW_ID_PSP_KEYDB,
|
||||
FW_ID_DFC,
|
||||
FW_ID_PSP_SPL,
|
||||
FW_ID_DRV_CAP,
|
||||
FW_ID_MC,
|
||||
FW_ID_PSP_BL,
|
||||
FW_ID_CP_PM4,
|
||||
FW_ID_RLC_P,
|
||||
FW_ID_SEC_POLICY_STAGE2,
|
||||
FW_ID_REG_ACCESS_WHITELIST,
|
||||
FW_ID_IMU_DRAM,
|
||||
FW_ID_IMU_IRAM,
|
||||
FW_ID_SDMA_TH0,
|
||||
FW_ID_SDMA_TH1,
|
||||
FW_ID_CP_MES,
|
||||
FW_ID_MES_KIQ,
|
||||
FW_ID_MES_STACK,
|
||||
FW_ID_MES_THREAD1,
|
||||
FW_ID_MES_THREAD1_STACK,
|
||||
FW_ID_RLX6,
|
||||
FW_ID_RLX6_DRAM_BOOT,
|
||||
FW_ID_RS64_ME,
|
||||
FW_ID_RS64_ME_P0_DATA,
|
||||
FW_ID_RS64_ME_P1_DATA,
|
||||
FW_ID_RS64_PFP,
|
||||
FW_ID_RS64_PFP_P0_DATA,
|
||||
FW_ID_RS64_PFP_P1_DATA,
|
||||
FW_ID_RS64_MEC,
|
||||
FW_ID_RS64_MEC_P0_DATA,
|
||||
FW_ID_RS64_MEC_P1_DATA,
|
||||
FW_ID_RS64_MEC_P2_DATA,
|
||||
FW_ID_RS64_MEC_P3_DATA,
|
||||
FW_ID_PPTABLE,
|
||||
FW_ID_PSP_SOC,
|
||||
FW_ID_PSP_DBG,
|
||||
FW_ID_PSP_INTF,
|
||||
FW_ID_RLX6_CORE1,
|
||||
FW_ID_RLX6_DRAM_BOOT_CORE1,
|
||||
FW_ID_RLCV_LX7,
|
||||
FW_ID_RLC_SAVE_RESTORE_LIST,
|
||||
FW_ID_ASD,
|
||||
FW_ID_TA_RAS,
|
||||
FW_ID_TA_XGMI,
|
||||
FW_ID_RLC_SRLG,
|
||||
FW_ID_RLC_SRLS,
|
||||
FW_ID_PM,
|
||||
FW_ID_DMCU,
|
||||
FW_ID__MAX
|
||||
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, /*eRAM*/
|
||||
AMDSMI_FW_ID_DMCU_ISR, /*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_RLC_SRLG,
|
||||
AMDSMI_FW_ID_RLC_SRLS,
|
||||
AMDSMI_FW_ID_PM,
|
||||
AMDSMI_FW_ID_DMCU,
|
||||
AMDSMI_FW_ID__MAX
|
||||
} amdsmi_fw_block_t;
|
||||
|
||||
|
||||
typedef enum {
|
||||
VRAM_TYPE_UNKNOWN = 0,
|
||||
VRAM_TYPE_GDDR1 = 1,
|
||||
VRAM_TYPE_DDR2 = 2,
|
||||
VRAM_TYPE_GDDR3 = 3,
|
||||
VRAM_TYPE_GDDR4 = 4,
|
||||
VRAM_TYPE_GDDR5 = 5,
|
||||
VRAM_TYPE_HBM = 6,
|
||||
VRAM_TYPE_DDR3 = 7,
|
||||
VRAM_TYPE_DDR4 = 8,
|
||||
VRAM_TYPE_GDDR6 = 9,
|
||||
VRAM_TYPE__MAX = VRAM_TYPE_GDDR6
|
||||
AMDSMI_VRAM_TYPE_UNKNOWN = 0,
|
||||
AMDSMI_VRAM_TYPE_GDDR1 = 1,
|
||||
AMDSMI_VRAM_TYPE_DDR2 = 2,
|
||||
AMDSMI_VRAM_TYPE_GDDR3 = 3,
|
||||
AMDSMI_VRAM_TYPE_GDDR4 = 4,
|
||||
AMDSMI_VRAM_TYPE_GDDR5 = 5,
|
||||
AMDSMI_VRAM_TYPE_HBM = 6,
|
||||
AMDSMI_VRAM_TYPE_DDR3 = 7,
|
||||
AMDSMI_VRAM_TYPE_DDR4 = 8,
|
||||
AMDSMI_VRAM_TYPE_GDDR6 = 9,
|
||||
AMDSMI_VRAM_TYPE__MAX = AMDSMI_VRAM_TYPE_GDDR6
|
||||
} amdsmi_vram_type_t;
|
||||
|
||||
typedef enum {
|
||||
@@ -483,12 +483,12 @@ typedef struct {
|
||||
} amdsmi_frequency_range_t;
|
||||
|
||||
typedef union {
|
||||
struct fields_ {
|
||||
struct {
|
||||
uint64_t function_number : 3;
|
||||
uint64_t device_number : 5;
|
||||
uint64_t bus_number : 8;
|
||||
uint64_t domain_number : 48;
|
||||
} fields;
|
||||
};
|
||||
uint64_t as_uint;
|
||||
} amdsmi_bdf_t;
|
||||
|
||||
@@ -568,7 +568,7 @@ typedef struct {
|
||||
amdsmi_fw_block_t fw_id;
|
||||
uint64_t fw_version;
|
||||
uint64_t reserved[2];
|
||||
} fw_info_list[FW_ID__MAX];
|
||||
} fw_info_list[AMDSMI_FW_ID__MAX];
|
||||
uint32_t reserved[7];
|
||||
} amdsmi_fw_info_t;
|
||||
|
||||
@@ -608,7 +608,8 @@ typedef struct {
|
||||
typedef struct {
|
||||
amdsmi_vram_type_t vram_type;
|
||||
amdsmi_vram_vendor_type_t vram_vendor;
|
||||
uint64_t vram_size_mb;
|
||||
uint64_t vram_size;
|
||||
uint64_t reserved[6];
|
||||
} amdsmi_vram_info_t;
|
||||
|
||||
|
||||
@@ -638,10 +639,11 @@ typedef struct {
|
||||
} amdsmi_power_info_t;
|
||||
|
||||
typedef struct {
|
||||
uint32_t cur_clk;
|
||||
uint32_t clk;
|
||||
uint32_t min_clk;
|
||||
uint32_t max_clk;
|
||||
uint32_t sleep_clk;
|
||||
uint8_t clk_locked;
|
||||
uint8_t clk_deep_sleep;
|
||||
uint32_t reserved[4];
|
||||
} amdsmi_clk_info_t;
|
||||
|
||||
|
||||
@@ -69,10 +69,10 @@ class AMDSmiGPUDevice: public AMDSmiProcessor {
|
||||
|
||||
public:
|
||||
AMDSmiGPUDevice(uint32_t gpu_id, uint32_t fd, std::string path, amdsmi_bdf_t bdf, AMDSmiDrm& drm):
|
||||
AMDSmiProcessor(AMD_GPU), gpu_id_(gpu_id), fd_(fd), path_(path), bdf_(bdf), drm_(drm) {}
|
||||
AMDSmiProcessor(AMDSMI_PROCESSOR_TYPE_AMD_GPU), gpu_id_(gpu_id), fd_(fd), path_(path), bdf_(bdf), drm_(drm) {}
|
||||
|
||||
AMDSmiGPUDevice(uint32_t gpu_id, AMDSmiDrm& drm):
|
||||
AMDSmiProcessor(AMD_GPU), gpu_id_(gpu_id), drm_(drm) {
|
||||
AMDSmiProcessor(AMDSMI_PROCESSOR_TYPE_AMD_GPU), gpu_id_(gpu_id), drm_(drm) {
|
||||
if (check_if_drm_is_supported()) this->get_drm_data();
|
||||
}
|
||||
~AMDSmiGPUDevice() {
|
||||
|
||||
@@ -62,13 +62,13 @@ class AMDSmiSocket {
|
||||
uint32_t get_socket_index() { return sindex_;}
|
||||
void add_processor(AMDSmiProcessor* processor) {
|
||||
switch (processor->get_processor_type()) {
|
||||
case AMD_GPU:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_GPU:
|
||||
processors_.push_back(processor);
|
||||
break;
|
||||
case AMD_CPU:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_CPU:
|
||||
cpu_processors_.push_back(processor);
|
||||
break;
|
||||
case AMD_CPU_CORE:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE:
|
||||
cpu_core_processors_.push_back(processor);
|
||||
break;
|
||||
default:
|
||||
@@ -78,11 +78,11 @@ class AMDSmiSocket {
|
||||
std::vector<AMDSmiProcessor*>& get_processors() { return processors_;}
|
||||
std::vector<AMDSmiProcessor*>& get_processors(processor_type_t type) {
|
||||
switch (type) {
|
||||
case AMD_GPU:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_GPU:
|
||||
return processors_;
|
||||
case AMD_CPU:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_CPU:
|
||||
return cpu_processors_;
|
||||
case AMD_CPU_CORE:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE:
|
||||
return cpu_core_processors_;
|
||||
default:
|
||||
return processors_;
|
||||
|
||||
@@ -461,7 +461,7 @@ Field | Description
|
||||
---|---
|
||||
`vram_type` | vram type
|
||||
`vram_vendor` | vram vendor
|
||||
`vram_size_mb` | vram size in mb
|
||||
`vram_size` | vram size in mb
|
||||
|
||||
Exceptions that can be thrown by `amdsmi_get_gpu_vram_info` function:
|
||||
|
||||
@@ -481,7 +481,7 @@ try:
|
||||
vram_info = amdsmi_get_gpu_vram_info(device)
|
||||
print(vram_info['vram_type'])
|
||||
print(vram_info['vram_vendor'])
|
||||
print(vram_info['vram_size_mb'])
|
||||
print(vram_info['vram_size'])
|
||||
except AmdSmiException as e:
|
||||
print(e)
|
||||
```
|
||||
@@ -769,9 +769,11 @@ Output: Dictionary with fields
|
||||
|
||||
Field | Description
|
||||
---|---
|
||||
`cur_clk` | Current clock for given clock type
|
||||
`max_clk` | Maximum clock for given clock type
|
||||
`clk` | Current clock for given clock type
|
||||
`min_clk` | Minimum clock for given clock type
|
||||
`max_clk` | Maximum clock for given clock type
|
||||
`clk_locked` | flag only supported on GFX clock domain
|
||||
`clk_deep_sleep` | clock deep sleep mode flag
|
||||
|
||||
Exceptions that can be thrown by `amdsmi_get_clock_info` function:
|
||||
|
||||
@@ -789,9 +791,11 @@ try:
|
||||
else:
|
||||
for device in devices:
|
||||
clock_measure = amdsmi_get_clock_info(device, AmdSmiClkType.GFX)
|
||||
print(clock_measure['cur_clk'])
|
||||
print(clock_measure['clk'])
|
||||
print(clock_measure['min_clk'])
|
||||
print(clock_measure['max_clk'])
|
||||
print(clock_measure['clk_locked'])
|
||||
print(clock_measure['clk_deep_sleep'])
|
||||
except AmdSmiException as e:
|
||||
print(e)
|
||||
```
|
||||
|
||||
+140
-139
@@ -82,16 +82,16 @@ class AmdSmiInitFlags(IntEnum):
|
||||
|
||||
|
||||
class AmdSmiContainerTypes(IntEnum):
|
||||
LXC = amdsmi_wrapper.CONTAINER_LXC
|
||||
DOCKER = amdsmi_wrapper.CONTAINER_DOCKER
|
||||
LXC = amdsmi_wrapper.AMDSMI_CONTAINER_LXC
|
||||
DOCKER = amdsmi_wrapper.AMDSMI_CONTAINER_DOCKER
|
||||
|
||||
|
||||
class AmdSmiDeviceType(IntEnum):
|
||||
UNKNOWN_DEVICE = amdsmi_wrapper.UNKNOWN
|
||||
AMD_GPU_DEVICE = amdsmi_wrapper.AMD_GPU
|
||||
AMD_CPU_DEVICE = amdsmi_wrapper.AMD_CPU
|
||||
NON_AMD_GPU_DEVICE = amdsmi_wrapper.NON_AMD_GPU
|
||||
NON_AMD_CPU_DEVICE = amdsmi_wrapper.NON_AMD_CPU
|
||||
AMD_GPU_DEVICE = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_AMD_GPU
|
||||
AMD_CPU_DEVICE = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_AMD_CPU
|
||||
NON_AMD_GPU_DEVICE = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU
|
||||
NON_AMD_CPU_DEVICE = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU
|
||||
|
||||
|
||||
class AmdSmiMmIp(IntEnum):
|
||||
@@ -101,109 +101,109 @@ class AmdSmiMmIp(IntEnum):
|
||||
|
||||
|
||||
class AmdSmiFwBlock(IntEnum):
|
||||
FW_ID_SMU = amdsmi_wrapper.FW_ID_SMU
|
||||
FW_ID_CP_CE = amdsmi_wrapper.FW_ID_CP_CE
|
||||
FW_ID_CP_PFP = amdsmi_wrapper.FW_ID_CP_PFP
|
||||
FW_ID_CP_ME = amdsmi_wrapper.FW_ID_CP_ME
|
||||
FW_ID_CP_MEC_JT1 = amdsmi_wrapper.FW_ID_CP_MEC_JT1
|
||||
FW_ID_CP_MEC_JT2 = amdsmi_wrapper.FW_ID_CP_MEC_JT2
|
||||
FW_ID_CP_MEC1 = amdsmi_wrapper.FW_ID_CP_MEC1
|
||||
FW_ID_CP_MEC2 = amdsmi_wrapper.FW_ID_CP_MEC2
|
||||
FW_ID_RLC = amdsmi_wrapper.FW_ID_RLC
|
||||
FW_ID_SDMA0 = amdsmi_wrapper.FW_ID_SDMA0
|
||||
FW_ID_SDMA1 = amdsmi_wrapper.FW_ID_SDMA1
|
||||
FW_ID_SDMA2 = amdsmi_wrapper.FW_ID_SDMA2
|
||||
FW_ID_SDMA3 = amdsmi_wrapper.FW_ID_SDMA3
|
||||
FW_ID_SDMA4 = amdsmi_wrapper.FW_ID_SDMA4
|
||||
FW_ID_SDMA5 = amdsmi_wrapper.FW_ID_SDMA5
|
||||
FW_ID_SDMA6 = amdsmi_wrapper.FW_ID_SDMA6
|
||||
FW_ID_SDMA7 = amdsmi_wrapper.FW_ID_SDMA7
|
||||
FW_ID_VCN = amdsmi_wrapper.FW_ID_VCN
|
||||
FW_ID_UVD = amdsmi_wrapper.FW_ID_UVD
|
||||
FW_ID_VCE = amdsmi_wrapper.FW_ID_VCE
|
||||
FW_ID_ISP = amdsmi_wrapper.FW_ID_ISP
|
||||
FW_ID_DMCU_ERAM = amdsmi_wrapper.FW_ID_DMCU_ERAM
|
||||
FW_ID_DMCU_ISR = amdsmi_wrapper.FW_ID_DMCU_ISR
|
||||
FW_ID_RLC_RESTORE_LIST_GPM_MEM = amdsmi_wrapper.FW_ID_RLC_RESTORE_LIST_GPM_MEM
|
||||
FW_ID_RLC_RESTORE_LIST_SRM_MEM = amdsmi_wrapper.FW_ID_RLC_RESTORE_LIST_SRM_MEM
|
||||
FW_ID_RLC_RESTORE_LIST_CNTL = amdsmi_wrapper.FW_ID_RLC_RESTORE_LIST_CNTL
|
||||
FW_ID_RLC_V = amdsmi_wrapper.FW_ID_RLC_V
|
||||
FW_ID_MMSCH = amdsmi_wrapper.FW_ID_MMSCH
|
||||
FW_ID_PSP_SYSDRV = amdsmi_wrapper.FW_ID_PSP_SYSDRV
|
||||
FW_ID_PSP_SOSDRV = amdsmi_wrapper.FW_ID_PSP_SOSDRV
|
||||
FW_ID_PSP_TOC = amdsmi_wrapper.FW_ID_PSP_TOC
|
||||
FW_ID_PSP_KEYDB = amdsmi_wrapper.FW_ID_PSP_KEYDB
|
||||
FW_ID_DFC = amdsmi_wrapper.FW_ID_DFC
|
||||
FW_ID_PSP_SPL = amdsmi_wrapper.FW_ID_PSP_SPL
|
||||
FW_ID_DRV_CAP = amdsmi_wrapper.FW_ID_DRV_CAP
|
||||
FW_ID_MC = amdsmi_wrapper.FW_ID_MC
|
||||
FW_ID_PSP_BL = amdsmi_wrapper.FW_ID_PSP_BL
|
||||
FW_ID_CP_PM4 = amdsmi_wrapper.FW_ID_CP_PM4
|
||||
FW_ID_RLC_P = amdsmi_wrapper.FW_ID_RLC_P
|
||||
FW_ID_SEC_POLICY_STAGE2 = amdsmi_wrapper.FW_ID_SEC_POLICY_STAGE2
|
||||
FW_ID_REG_ACCESS_WHITELIST = amdsmi_wrapper.FW_ID_REG_ACCESS_WHITELIST
|
||||
FW_ID_IMU_DRAM = amdsmi_wrapper.FW_ID_IMU_DRAM
|
||||
FW_ID_IMU_IRAM = amdsmi_wrapper.FW_ID_IMU_IRAM
|
||||
FW_ID_SDMA_TH0 = amdsmi_wrapper.FW_ID_SDMA_TH0
|
||||
FW_ID_SDMA_TH1 = amdsmi_wrapper.FW_ID_SDMA_TH1
|
||||
FW_ID_CP_MES = amdsmi_wrapper.FW_ID_CP_MES
|
||||
FW_ID_MES_STACK = amdsmi_wrapper.FW_ID_MES_STACK
|
||||
FW_ID_MES_THREAD1 = amdsmi_wrapper.FW_ID_MES_THREAD1
|
||||
FW_ID_MES_THREAD1_STACK = amdsmi_wrapper.FW_ID_MES_THREAD1_STACK
|
||||
FW_ID_RLX6 = amdsmi_wrapper.FW_ID_RLX6
|
||||
FW_ID_RLX6_DRAM_BOOT = amdsmi_wrapper.FW_ID_RLX6_DRAM_BOOT
|
||||
FW_ID_RS64_ME = amdsmi_wrapper.FW_ID_RS64_ME
|
||||
FW_ID_RS64_ME_P0_DATA = amdsmi_wrapper.FW_ID_RS64_ME_P0_DATA
|
||||
FW_ID_RS64_ME_P1_DATA = amdsmi_wrapper.FW_ID_RS64_ME_P1_DATA
|
||||
FW_ID_RS64_PFP = amdsmi_wrapper.FW_ID_RS64_PFP
|
||||
FW_ID_RS64_PFP_P0_DATA = amdsmi_wrapper.FW_ID_RS64_PFP_P0_DATA
|
||||
FW_ID_RS64_PFP_P1_DATA = amdsmi_wrapper.FW_ID_RS64_PFP_P1_DATA
|
||||
FW_ID_RS64_MEC = amdsmi_wrapper.FW_ID_RS64_MEC
|
||||
FW_ID_RS64_MEC_P0_DATA = amdsmi_wrapper.FW_ID_RS64_MEC_P0_DATA
|
||||
FW_ID_RS64_MEC_P1_DATA = amdsmi_wrapper.FW_ID_RS64_MEC_P1_DATA
|
||||
FW_ID_RS64_MEC_P2_DATA = amdsmi_wrapper.FW_ID_RS64_MEC_P2_DATA
|
||||
FW_ID_RS64_MEC_P3_DATA = amdsmi_wrapper.FW_ID_RS64_MEC_P3_DATA
|
||||
FW_ID_PPTABLE = amdsmi_wrapper.FW_ID_PPTABLE
|
||||
FW_ID_PSP_SOC = amdsmi_wrapper.FW_ID_PSP_SOC
|
||||
FW_ID_PSP_DBG = amdsmi_wrapper.FW_ID_PSP_DBG
|
||||
FW_ID_PSP_INTF = amdsmi_wrapper.FW_ID_PSP_INTF
|
||||
FW_ID_RLX6_CORE1 = amdsmi_wrapper.FW_ID_RLX6_CORE1
|
||||
FW_ID_RLX6_DRAM_BOOT_CORE1 = amdsmi_wrapper.FW_ID_RLX6_DRAM_BOOT_CORE1
|
||||
FW_ID_RLCV_LX7 = amdsmi_wrapper.FW_ID_RLCV_LX7
|
||||
FW_ID_RLC_SAVE_RESTORE_LIST = amdsmi_wrapper.FW_ID_RLC_SAVE_RESTORE_LIST
|
||||
FW_ID_ASD = amdsmi_wrapper.FW_ID_ASD
|
||||
FW_ID_TA_RAS = amdsmi_wrapper.FW_ID_TA_RAS
|
||||
FW_ID_TA_XGMI = amdsmi_wrapper.FW_ID_TA_XGMI
|
||||
FW_ID_RLC_SRLG = amdsmi_wrapper.FW_ID_RLC_SRLG
|
||||
FW_ID_RLC_SRLS = amdsmi_wrapper.FW_ID_RLC_SRLS
|
||||
FW_ID_PM = amdsmi_wrapper.FW_ID_PM
|
||||
FW_ID_DMCU = amdsmi_wrapper.FW_ID_DMCU
|
||||
AMDSMI_FW_ID_SMU = amdsmi_wrapper.AMDSMI_FW_ID_SMU
|
||||
AMDSMI_FW_ID_CP_CE = amdsmi_wrapper.AMDSMI_FW_ID_CP_CE
|
||||
AMDSMI_FW_ID_CP_PFP = amdsmi_wrapper.AMDSMI_FW_ID_CP_PFP
|
||||
AMDSMI_FW_ID_CP_ME = amdsmi_wrapper.AMDSMI_FW_ID_CP_ME
|
||||
AMDSMI_FW_ID_CP_MEC_JT1 = amdsmi_wrapper.AMDSMI_FW_ID_CP_MEC_JT1
|
||||
AMDSMI_FW_ID_CP_MEC_JT2 = amdsmi_wrapper.AMDSMI_FW_ID_CP_MEC_JT2
|
||||
AMDSMI_FW_ID_CP_MEC1 = amdsmi_wrapper.AMDSMI_FW_ID_CP_MEC1
|
||||
AMDSMI_FW_ID_CP_MEC2 = amdsmi_wrapper.AMDSMI_FW_ID_CP_MEC2
|
||||
AMDSMI_FW_ID_RLC = amdsmi_wrapper.AMDSMI_FW_ID_RLC
|
||||
AMDSMI_FW_ID_SDMA0 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA0
|
||||
AMDSMI_FW_ID_SDMA1 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA1
|
||||
AMDSMI_FW_ID_SDMA2 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA2
|
||||
AMDSMI_FW_ID_SDMA3 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA3
|
||||
AMDSMI_FW_ID_SDMA4 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA4
|
||||
AMDSMI_FW_ID_SDMA5 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA5
|
||||
AMDSMI_FW_ID_SDMA6 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA6
|
||||
AMDSMI_FW_ID_SDMA7 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA7
|
||||
AMDSMI_FW_ID_VCN = amdsmi_wrapper.AMDSMI_FW_ID_VCN
|
||||
AMDSMI_FW_ID_UVD = amdsmi_wrapper.AMDSMI_FW_ID_UVD
|
||||
AMDSMI_FW_ID_VCE = amdsmi_wrapper.AMDSMI_FW_ID_VCE
|
||||
AMDSMI_ FW_ID_ISP = amdsmi_wrapper.AMDSMI_ FW_ID_ISP
|
||||
AMDSMI_FW_ID_DMCU_ERAM = amdsmi_wrapper.AMDSMI_FW_ID_DMCU_ERAM
|
||||
AMDSMI_FW_ID_DMCU_ISR = amdsmi_wrapper.AMDSMI_FW_ID_DMCU_ISR
|
||||
AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM = amdsmi_wrapper.AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM
|
||||
AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM = amdsmi_wrapper.AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM
|
||||
AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL = amdsmi_wrapper.AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL
|
||||
AMDSMI_FW_ID_RLC_V = amdsmi_wrapper.AMDSMI_FW_ID_RLC_V
|
||||
AMDSMI_FW_ID_MMSCH = amdsmi_wrapper.AMDSMI_FW_ID_MMSCH
|
||||
AMDSMI_FW_ID_PSP_SYSDRV = amdsmi_wrapper.AMDSMI_FW_ID_PSP_SYSDRV
|
||||
AMDSMI_FW_ID_PSP_SOSDRV = amdsmi_wrapper.AMDSMI_FW_ID_PSP_SOSDRV
|
||||
AMDSMI_FW_ID_PSP_TOC = amdsmi_wrapper.AMDSMI_FW_ID_PSP_TOC
|
||||
AMDSMI_FW_ID_PSP_KEYDB = amdsmi_wrapper.AMDSMI_FW_ID_PSP_KEYDB
|
||||
AMDSMI_FW_ID_DFC = amdsmi_wrapper.AMDSMI_FW_ID_DFC
|
||||
AMDSMI_FW_ID_PSP_SPL = amdsmi_wrapper.AMDSMI_FW_ID_PSP_SPL
|
||||
AMDSMI_FW_ID_DRV_CAP = amdsmi_wrapper.AMDSMI_FW_ID_DRV_CAP
|
||||
AMDSMI_FW_ID_MC = amdsmi_wrapper.AMDSMI_FW_ID_MC
|
||||
AMDSMI_FW_ID_PSP_BL = amdsmi_wrapper.AMDSMI_FW_ID_PSP_BL
|
||||
AMDSMI_FW_ID_CP_PM4 = amdsmi_wrapper.AMDSMI_FW_ID_CP_PM4
|
||||
AMDSMI_FW_ID_RLC_P = amdsmi_wrapper.AMDSMI_FW_ID_RLC_P
|
||||
AMDSMI_FW_ID_SEC_POLICY_STAGE2 = amdsmi_wrapper.AMDSMI_FW_ID_SEC_POLICY_STAGE2
|
||||
AMDSMI_FW_ID_REG_ACCESS_WHITELIST = amdsmi_wrapper.AMDSMI_FW_ID_REG_ACCESS_WHITELIST
|
||||
AMDSMI_FW_ID_IMU_DRAM = amdsmi_wrapper.AMDSMI_FW_ID_IMU_DRAM
|
||||
AMDSMI_FW_ID_IMU_IRAM = amdsmi_wrapper.AMDSMI_FW_ID_IMU_IRAM
|
||||
AMDSMI_FW_ID_SDMA_TH0 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA_TH0
|
||||
AMDSMI_FW_ID_SDMA_TH1 = amdsmi_wrapper.AMDSMI_FW_ID_SDMA_TH1
|
||||
AMDSMI_FW_ID_CP_MES = amdsmi_wrapper.AMDSMI_FW_ID_CP_MES
|
||||
AMDSMI_FW_ID_MES_STACK = amdsmi_wrapper.AMDSMI_FW_ID_MES_STACK
|
||||
AMDSMI_FW_ID_MES_THREAD1 = amdsmi_wrapper.AMDSMI_FW_ID_MES_THREAD1
|
||||
AMDSMI_FW_ID_MES_THREAD1_STACK = amdsmi_wrapper.AMDSMI_FW_ID_MES_THREAD1_STACK
|
||||
AMDSMI_FW_ID_RLX6 = amdsmi_wrapper.AMDSMI_FW_ID_RLX6
|
||||
AMDSMI_FW_ID_RLX6_DRAM_BOOT = amdsmi_wrapper.AMDSMI_FW_ID_RLX6_DRAM_BOOT
|
||||
AMDSMI_FW_ID_RS64_ME = amdsmi_wrapper.AMDSMI_FW_ID_RS64_ME
|
||||
AMDSMI_FW_ID_RS64_ME_P0_DATA = amdsmi_wrapper.AMDSMI_FW_ID_RS64_ME_P0_DATA
|
||||
AMDSMI_FW_ID_RS64_ME_P1_DATA = amdsmi_wrapper.AMDSMI_FW_ID_RS64_ME_P1_DATA
|
||||
AMDSMI_FW_ID_RS64_PFP = amdsmi_wrapper.AMDSMI_FW_ID_RS64_PFP
|
||||
AMDSMI_FW_ID_RS64_PFP_P0_DATA = amdsmi_wrapper.AMDSMI_FW_ID_RS64_PFP_P0_DATA
|
||||
AMDSMI_FW_ID_RS64_PFP_P1_DATA = amdsmi_wrapper.AMDSMI_FW_ID_RS64_PFP_P1_DATA
|
||||
AMDSMI_FW_ID_RS64_MEC = amdsmi_wrapper.AMDSMI_FW_ID_RS64_MEC
|
||||
AMDSMI_FW_ID_RS64_MEC_P0_DATA = amdsmi_wrapper.AMDSMI_FW_ID_RS64_MEC_P0_DATA
|
||||
AMDSMI_FW_ID_RS64_MEC_P1_DATA = amdsmi_wrapper.AMDSMI_FW_ID_RS64_MEC_P1_DATA
|
||||
AMDSMI_FW_ID_RS64_MEC_P2_DATA = amdsmi_wrapper.AMDSMI_FW_ID_RS64_MEC_P2_DATA
|
||||
AMDSMI_FW_ID_RS64_MEC_P3_DATA = amdsmi_wrapper.AMDSMI_FW_ID_RS64_MEC_P3_DATA
|
||||
AMDSMI_FW_ID_PPTABLE = amdsmi_wrapper.AMDSMI_FW_ID_PPTABLE
|
||||
AMDSMI_FW_ID_PSP_SOC = amdsmi_wrapper.AMDSMI_FW_ID_PSP_SOC
|
||||
AMDSMI_FW_ID_PSP_DBG = amdsmi_wrapper.AMDSMI_FW_ID_PSP_DBG
|
||||
AMDSMI_FW_ID_PSP_INTF = amdsmi_wrapper.AMDSMI_FW_ID_PSP_INTF
|
||||
AMDSMI_FW_ID_RLX6_CORE1 = amdsmi_wrapper.AMDSMI_FW_ID_RLX6_CORE1
|
||||
AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1 = amdsmi_wrapper.AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1
|
||||
AMDSMI_FW_ID_RLCV_LX7 = amdsmi_wrapper.AMDSMI_FW_ID_RLCV_LX7
|
||||
AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST = amdsmi_wrapper.AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST
|
||||
AMDSMI_FW_ID_ASD = amdsmi_wrapper.AMDSMI_FW_ID_ASD
|
||||
AMDSMI_FW_ID_TA_RAS = amdsmi_wrapper.AMDSMI_FW_ID_TA_RAS
|
||||
AMDSMI_FW_ID_TA_XGMI = amdsmi_wrapper.AMDSMI_FW_ID_TA_XGMI
|
||||
AMDSMI_FW_ID_RLC_SRLG = amdsmi_wrapper.AMDSMI_FW_ID_RLC_SRLG
|
||||
AMDSMI_FW_ID_RLC_SRLS = amdsmi_wrapper.AMDSMI_FW_ID_RLC_SRLS
|
||||
AMDSMI_FW_ID_PM = amdsmi_wrapper.AMDSMI_FW_ID_PM
|
||||
AMDSMI_FW_ID_DMCU = amdsmi_wrapper.AMDSMI_FW_ID_DMCU
|
||||
|
||||
|
||||
class AmdSmiClkType(IntEnum):
|
||||
SYS = amdsmi_wrapper.CLK_TYPE_SYS
|
||||
GFX = amdsmi_wrapper.CLK_TYPE_GFX
|
||||
DF = amdsmi_wrapper.CLK_TYPE_DF
|
||||
DCEF = amdsmi_wrapper.CLK_TYPE_DCEF
|
||||
SOC = amdsmi_wrapper.CLK_TYPE_SOC
|
||||
MEM = amdsmi_wrapper.CLK_TYPE_MEM
|
||||
PCIE = amdsmi_wrapper.CLK_TYPE_PCIE
|
||||
VCLK0 = amdsmi_wrapper.CLK_TYPE_VCLK0
|
||||
VCLK1 = amdsmi_wrapper.CLK_TYPE_VCLK1
|
||||
DCLK0 = amdsmi_wrapper.CLK_TYPE_DCLK0
|
||||
DCLK1 = amdsmi_wrapper.CLK_TYPE_DCLK1
|
||||
SYS = amdsmi_wrapper.AMDSMI_CLK_TYPE_SYS
|
||||
GFX = amdsmi_wrapper.AMDSMI_CLK_TYPE_GFX
|
||||
DF = amdsmi_wrapper.AMDSMI_CLK_TYPE_DF
|
||||
DCEF = amdsmi_wrapper.AMDSMI_CLK_TYPE_DCEF
|
||||
SOC = amdsmi_wrapper.AMDSMI_CLK_TYPE_SOC
|
||||
MEM = amdsmi_wrapper.AMDSMI_CLK_TYPE_MEM
|
||||
PCIE = amdsmi_wrapper.AMDSMI_CLK_TYPE_PCIE
|
||||
VCLK0 = amdsmi_wrapper.AMDSMI_CLK_TYPE_VCLK0
|
||||
VCLK1 = amdsmi_wrapper.AMDSMI_CLK_TYPE_VCLK1
|
||||
DCLK0 = amdsmi_wrapper.AMDSMI_CLK_TYPE_DCLK0
|
||||
DCLK1 = amdsmi_wrapper.AMDSMI_CLK_TYPE_DCLK1
|
||||
|
||||
|
||||
class AmdSmiTemperatureType(IntEnum):
|
||||
EDGE = amdsmi_wrapper.TEMPERATURE_TYPE_EDGE
|
||||
HOTSPOT = amdsmi_wrapper.TEMPERATURE_TYPE_HOTSPOT
|
||||
JUNCTION = amdsmi_wrapper.TEMPERATURE_TYPE_JUNCTION
|
||||
VRAM = amdsmi_wrapper.TEMPERATURE_TYPE_VRAM
|
||||
HBM_0 = amdsmi_wrapper.TEMPERATURE_TYPE_HBM_0
|
||||
HBM_1 = amdsmi_wrapper.TEMPERATURE_TYPE_HBM_1
|
||||
HBM_2 = amdsmi_wrapper.TEMPERATURE_TYPE_HBM_2
|
||||
HBM_3 = amdsmi_wrapper.TEMPERATURE_TYPE_HBM_3
|
||||
PLX = amdsmi_wrapper.TEMPERATURE_TYPE_PLX
|
||||
EDGE = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_EDGE
|
||||
HOTSPOT = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_HOTSPOT
|
||||
JUNCTION = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_JUNCTION
|
||||
VRAM = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_VRAM
|
||||
HBM_0 = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_HBM_0
|
||||
HBM_1 = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_HBM_1
|
||||
HBM_2 = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_HBM_2
|
||||
HBM_3 = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_HBM_3
|
||||
PLX = amdsmi_wrapper.AMDSMI_TEMPERATURE_TYPE_PLX
|
||||
|
||||
|
||||
class AmdSmiDevPerfLevel(IntEnum):
|
||||
@@ -289,20 +289,20 @@ class AmdSmiVoltageType(IntEnum):
|
||||
|
||||
|
||||
class AmdSmiComputePartitionType(IntEnum):
|
||||
CPX = amdsmi_wrapper.COMPUTE_PARTITION_CPX
|
||||
SPX = amdsmi_wrapper.COMPUTE_PARTITION_SPX
|
||||
DPX = amdsmi_wrapper.COMPUTE_PARTITION_DPX
|
||||
TPX = amdsmi_wrapper.COMPUTE_PARTITION_TPX
|
||||
QPX = amdsmi_wrapper.COMPUTE_PARTITION_QPX
|
||||
INVALID = amdsmi_wrapper.COMPUTE_PARTITION_INVALID
|
||||
CPX = amdsmi_wrapper.AMDSMI_COMPUTE_PARTITION_CPX
|
||||
SPX = amdsmi_wrapper.AMDSMI_COMPUTE_PARTITION_SPX
|
||||
DPX = amdsmi_wrapper.AMDSMI_COMPUTE_PARTITION_DPX
|
||||
TPX = amdsmi_wrapper.AMDSMI_COMPUTE_PARTITION_TPX
|
||||
QPX = amdsmi_wrapper.AMDSMI_COMPUTE_PARTITION_QPX
|
||||
INVALID = amdsmi_wrapper.AMDSMI_COMPUTE_PARTITION_INVALID
|
||||
|
||||
|
||||
class AmdSmiMemoryPartitionType(IntEnum):
|
||||
NPS1 = amdsmi_wrapper.MEMORY_PARTITION_NPS1
|
||||
NPS2 = amdsmi_wrapper.MEMORY_PARTITION_NPS2
|
||||
NPS4 = amdsmi_wrapper.MEMORY_PARTITION_NPS4
|
||||
NPS8 = amdsmi_wrapper.MEMORY_PARTITION_NPS8
|
||||
UNKNOWN = amdsmi_wrapper.MEMORY_PARTITION_UNKNOWN
|
||||
NPS1 = amdsmi_wrapper.AMDSMI_MEMORY_PARTITION_NPS1
|
||||
NPS2 = amdsmi_wrapper.AMDSMI_MEMORY_PARTITION_NPS2
|
||||
NPS4 = amdsmi_wrapper.AMDSMI_MEMORY_PARTITION_NPS4
|
||||
NPS8 = amdsmi_wrapper.AMDSMI_MEMORY_PARTITION_NPS8
|
||||
UNKNOWN = amdsmi_wrapper.AMDSMI_MEMORY_PARTITION_UNKNOWN
|
||||
|
||||
|
||||
class AmdSmiPowerProfilePresetMasks(IntEnum):
|
||||
@@ -392,10 +392,10 @@ class AmdSmiUtilizationCounterType(IntEnum):
|
||||
|
||||
class AmdSmiProcessorType(IntEnum):
|
||||
UNKNOWN = amdsmi_wrapper.UNKNOWN
|
||||
AMD_GPU = amdsmi_wrapper.AMD_GPU
|
||||
AMD_CPU = amdsmi_wrapper.AMD_CPU
|
||||
NON_AMD_GPU = amdsmi_wrapper.NON_AMD_GPU
|
||||
NON_AMD_CPU = amdsmi_wrapper.NON_AMD_CPU
|
||||
AMDSMI_PROCESSOR_TYPE_AMD_GPU = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_AMD_GPU
|
||||
AMDSMI_PROCESSOR_TYPE_AMD_CPU = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_AMD_CPU
|
||||
AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU
|
||||
AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU
|
||||
|
||||
|
||||
class AmdSmiEventReader:
|
||||
@@ -513,10 +513,10 @@ def _format_bdf(amdsmi_bdf: amdsmi_wrapper.amdsmi_bdf_t) -> str:
|
||||
Returns:
|
||||
`str`: String containing BDF data in a readable format.
|
||||
"""
|
||||
domain = hex(amdsmi_bdf.fields.domain_number)[2:].zfill(4)
|
||||
bus = hex(amdsmi_bdf.fields.bus_number)[2:].zfill(2)
|
||||
device = hex(amdsmi_bdf.fields.device_number)[2:].zfill(2)
|
||||
function = hex(amdsmi_bdf.fields.function_number)[2:]
|
||||
domain = hex(amdsmi_bdf.domain_number)[2:].zfill(4)
|
||||
bus = hex(amdsmi_bdf.bus_number)[2:].zfill(2)
|
||||
device = hex(amdsmi_bdf.device_number)[2:].zfill(2)
|
||||
function = hex(amdsmi_bdf.function_number)[2:]
|
||||
|
||||
return domain + ":" + bus + ":" + device + "." + function
|
||||
|
||||
@@ -563,10 +563,10 @@ def _make_amdsmi_bdf_from_list(bdf):
|
||||
if len(bdf) != 4:
|
||||
return None
|
||||
amdsmi_bdf = amdsmi_wrapper.amdsmi_bdf_t()
|
||||
amdsmi_bdf.fields.function_number = bdf[3]
|
||||
amdsmi_bdf.fields.device_number = bdf[2]
|
||||
amdsmi_bdf.fields.bus_number = bdf[1]
|
||||
amdsmi_bdf.fields.domain_number = bdf[0]
|
||||
amdsmi_bdf.function_number = bdf[3]
|
||||
amdsmi_bdf.device_number = bdf[2]
|
||||
amdsmi_bdf.bus_number = bdf[1]
|
||||
amdsmi_bdf.domain_number = bdf[0]
|
||||
return amdsmi_bdf
|
||||
|
||||
def _padHexValue(value, length):
|
||||
@@ -626,7 +626,7 @@ def amdsmi_get_cpusocket_handles() -> List[amdsmi_wrapper.amdsmi_socket_handle]:
|
||||
"""
|
||||
socket_handles = amdsmi_get_socket_handles()
|
||||
cpu_handles = []
|
||||
type = amdsmi_wrapper.AMD_CPU
|
||||
type = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_AMD_CPU
|
||||
for socket in socket_handles:
|
||||
cpu_count = ctypes.c_uint32()
|
||||
null_ptr = ctypes.POINTER(amdsmi_wrapper.amdsmi_processor_handle)()
|
||||
@@ -719,7 +719,7 @@ def amdsmi_get_processor_handles() -> List[amdsmi_wrapper.amdsmi_processor_handl
|
||||
def amdsmi_get_cpucore_handles() -> List[amdsmi_wrapper.amdsmi_processor_handle]:
|
||||
socket_handles = amdsmi_get_socket_handles()
|
||||
core_handles = []
|
||||
type = amdsmi_wrapper.AMD_CPU_CORE
|
||||
type = amdsmi_wrapper.AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE
|
||||
|
||||
for socket in socket_handles:
|
||||
core_count = ctypes.c_uint32()
|
||||
@@ -1709,7 +1709,7 @@ def amdsmi_get_gpu_vram_info(
|
||||
return {
|
||||
"vram_type": vram_info.vram_type,
|
||||
"vram_vendor": vram_info.vram_vendor,
|
||||
"vram_size_mb": vram_info.vram_size_mb,
|
||||
"vram_size": vram_info.vram_size,
|
||||
}
|
||||
|
||||
|
||||
@@ -1835,10 +1835,11 @@ def amdsmi_get_clock_info(
|
||||
)
|
||||
|
||||
return {
|
||||
"cur_clk": clock_measure.cur_clk,
|
||||
"max_clk": clock_measure.max_clk,
|
||||
"clk": clock_measure.clk,
|
||||
"min_clk": clock_measure.min_clk,
|
||||
"sleep_clk" : clock_measure.sleep_clk,
|
||||
"max_clk": clock_measure.max_clk,
|
||||
"clk_locked": clock_measure.clk_locked,
|
||||
"clk_deep_sleep" : clock_measure.clk_deep_sleep,
|
||||
}
|
||||
|
||||
|
||||
@@ -2119,14 +2120,14 @@ def amdsmi_get_fw_info(
|
||||
_check_res(amdsmi_wrapper.amdsmi_get_fw_info(
|
||||
processor_handle, ctypes.byref(fw_info)))
|
||||
|
||||
hex_format_fw = [AmdSmiFwBlock.FW_ID_PSP_SOSDRV,
|
||||
AmdSmiFwBlock.FW_ID_TA_RAS,
|
||||
AmdSmiFwBlock.FW_ID_TA_XGMI,
|
||||
AmdSmiFwBlock.FW_ID_UVD,
|
||||
AmdSmiFwBlock.FW_ID_VCE,
|
||||
AmdSmiFwBlock.FW_ID_VCN]
|
||||
hex_format_fw = [AmdSmiFwBlock.AMDSMI_FW_ID_PSP_SOSDRV,
|
||||
AmdSmiFwBlock.AMDSMI_FW_ID_TA_RAS,
|
||||
AmdSmiFwBlock.AMDSMI_FW_ID_TA_XGMI,
|
||||
AmdSmiFwBlock.AMDSMI_FW_ID_UVD,
|
||||
AmdSmiFwBlock.AMDSMI_FW_ID_VCE,
|
||||
AmdSmiFwBlock.AMDSMI_FW_ID_VCN]
|
||||
|
||||
dec_format_fw = [AmdSmiFwBlock.FW_ID_PM]
|
||||
dec_format_fw = [AmdSmiFwBlock.AMDSMI_FW_ID_PM]
|
||||
|
||||
firmwares = []
|
||||
for i in range(0, fw_info.num_fw_info):
|
||||
|
||||
+319
-319
@@ -226,11 +226,11 @@ amdsmi_mm_ip_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_container_types_t'
|
||||
amdsmi_container_types_t__enumvalues = {
|
||||
0: 'CONTAINER_LXC',
|
||||
1: 'CONTAINER_DOCKER',
|
||||
0: 'AMDSMI_CONTAINER_LXC',
|
||||
1: 'AMDSMI_CONTAINER_DOCKER',
|
||||
}
|
||||
CONTAINER_LXC = 0
|
||||
CONTAINER_DOCKER = 1
|
||||
AMDSMI_CONTAINER_LXC = 0
|
||||
AMDSMI_CONTAINER_DOCKER = 1
|
||||
amdsmi_container_types_t = ctypes.c_uint32 # enum
|
||||
amdsmi_processor_handle = ctypes.POINTER(None)
|
||||
amdsmi_socket_handle = ctypes.POINTER(None)
|
||||
@@ -239,20 +239,20 @@ amdsmi_cpusocket_handle = ctypes.POINTER(None)
|
||||
# values for enumeration 'processor_type_t'
|
||||
processor_type_t__enumvalues = {
|
||||
0: 'UNKNOWN',
|
||||
1: 'AMD_GPU',
|
||||
2: 'AMD_CPU',
|
||||
3: 'NON_AMD_GPU',
|
||||
4: 'NON_AMD_CPU',
|
||||
5: 'AMD_CPU_CORE',
|
||||
6: 'AMD_APU',
|
||||
1: 'AMDSMI_PROCESSOR_TYPE_AMD_GPU',
|
||||
2: 'AMDSMI_PROCESSOR_TYPE_AMD_CPU',
|
||||
3: 'AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU',
|
||||
4: 'AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU',
|
||||
5: 'AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE',
|
||||
6: 'AMDSMI_PROCESSOR_TYPE_AMD_APU',
|
||||
}
|
||||
UNKNOWN = 0
|
||||
AMD_GPU = 1
|
||||
AMD_CPU = 2
|
||||
NON_AMD_GPU = 3
|
||||
NON_AMD_CPU = 4
|
||||
AMD_CPU_CORE = 5
|
||||
AMD_APU = 6
|
||||
AMDSMI_PROCESSOR_TYPE_AMD_GPU = 1
|
||||
AMDSMI_PROCESSOR_TYPE_AMD_CPU = 2
|
||||
AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU = 3
|
||||
AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU = 4
|
||||
AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE = 5
|
||||
AMDSMI_PROCESSOR_TYPE_AMD_APU = 6
|
||||
processor_type_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_status_t'
|
||||
@@ -348,284 +348,284 @@ amdsmi_status_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_clk_type_t'
|
||||
amdsmi_clk_type_t__enumvalues = {
|
||||
0: 'CLK_TYPE_SYS',
|
||||
0: 'CLK_TYPE_FIRST',
|
||||
0: 'CLK_TYPE_GFX',
|
||||
1: 'CLK_TYPE_DF',
|
||||
2: 'CLK_TYPE_DCEF',
|
||||
3: 'CLK_TYPE_SOC',
|
||||
4: 'CLK_TYPE_MEM',
|
||||
5: 'CLK_TYPE_PCIE',
|
||||
6: 'CLK_TYPE_VCLK0',
|
||||
7: 'CLK_TYPE_VCLK1',
|
||||
8: 'CLK_TYPE_DCLK0',
|
||||
9: 'CLK_TYPE_DCLK1',
|
||||
9: 'CLK_TYPE__MAX',
|
||||
0: 'AMDSMI_CLK_TYPE_SYS',
|
||||
0: 'AMDSMI_CLK_TYPE_FIRST',
|
||||
0: 'AMDSMI_CLK_TYPE_GFX',
|
||||
1: 'AMDSMI_CLK_TYPE_DF',
|
||||
2: 'AMDSMI_CLK_TYPE_DCEF',
|
||||
3: 'AMDSMI_CLK_TYPE_SOC',
|
||||
4: 'AMDSMI_CLK_TYPE_MEM',
|
||||
5: 'AMDSMI_CLK_TYPE_PCIE',
|
||||
6: 'AMDSMI_CLK_TYPE_VCLK0',
|
||||
7: 'AMDSMI_CLK_TYPE_VCLK1',
|
||||
8: 'AMDSMI_CLK_TYPE_DCLK0',
|
||||
9: 'AMDSMI_CLK_TYPE_DCLK1',
|
||||
9: 'AMDSMI_CLK_TYPE__MAX',
|
||||
}
|
||||
CLK_TYPE_SYS = 0
|
||||
CLK_TYPE_FIRST = 0
|
||||
CLK_TYPE_GFX = 0
|
||||
CLK_TYPE_DF = 1
|
||||
CLK_TYPE_DCEF = 2
|
||||
CLK_TYPE_SOC = 3
|
||||
CLK_TYPE_MEM = 4
|
||||
CLK_TYPE_PCIE = 5
|
||||
CLK_TYPE_VCLK0 = 6
|
||||
CLK_TYPE_VCLK1 = 7
|
||||
CLK_TYPE_DCLK0 = 8
|
||||
CLK_TYPE_DCLK1 = 9
|
||||
CLK_TYPE__MAX = 9
|
||||
AMDSMI_CLK_TYPE_SYS = 0
|
||||
AMDSMI_CLK_TYPE_FIRST = 0
|
||||
AMDSMI_CLK_TYPE_GFX = 0
|
||||
AMDSMI_CLK_TYPE_DF = 1
|
||||
AMDSMI_CLK_TYPE_DCEF = 2
|
||||
AMDSMI_CLK_TYPE_SOC = 3
|
||||
AMDSMI_CLK_TYPE_MEM = 4
|
||||
AMDSMI_CLK_TYPE_PCIE = 5
|
||||
AMDSMI_CLK_TYPE_VCLK0 = 6
|
||||
AMDSMI_CLK_TYPE_VCLK1 = 7
|
||||
AMDSMI_CLK_TYPE_DCLK0 = 8
|
||||
AMDSMI_CLK_TYPE_DCLK1 = 9
|
||||
AMDSMI_CLK_TYPE__MAX = 9
|
||||
amdsmi_clk_type_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_compute_partition_type_t'
|
||||
amdsmi_compute_partition_type_t__enumvalues = {
|
||||
0: 'COMPUTE_PARTITION_INVALID',
|
||||
1: 'COMPUTE_PARTITION_CPX',
|
||||
2: 'COMPUTE_PARTITION_SPX',
|
||||
3: 'COMPUTE_PARTITION_DPX',
|
||||
4: 'COMPUTE_PARTITION_TPX',
|
||||
5: 'COMPUTE_PARTITION_QPX',
|
||||
0: 'AMDSMI_COMPUTE_PARTITION_INVALID',
|
||||
1: 'AMDSMI_COMPUTE_PARTITION_CPX',
|
||||
2: 'AMDSMI_COMPUTE_PARTITION_SPX',
|
||||
3: 'AMDSMI_COMPUTE_PARTITION_DPX',
|
||||
4: 'AMDSMI_COMPUTE_PARTITION_TPX',
|
||||
5: 'AMDSMI_COMPUTE_PARTITION_QPX',
|
||||
}
|
||||
COMPUTE_PARTITION_INVALID = 0
|
||||
COMPUTE_PARTITION_CPX = 1
|
||||
COMPUTE_PARTITION_SPX = 2
|
||||
COMPUTE_PARTITION_DPX = 3
|
||||
COMPUTE_PARTITION_TPX = 4
|
||||
COMPUTE_PARTITION_QPX = 5
|
||||
AMDSMI_COMPUTE_PARTITION_INVALID = 0
|
||||
AMDSMI_COMPUTE_PARTITION_CPX = 1
|
||||
AMDSMI_COMPUTE_PARTITION_SPX = 2
|
||||
AMDSMI_COMPUTE_PARTITION_DPX = 3
|
||||
AMDSMI_COMPUTE_PARTITION_TPX = 4
|
||||
AMDSMI_COMPUTE_PARTITION_QPX = 5
|
||||
amdsmi_compute_partition_type_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_memory_partition_type_t'
|
||||
amdsmi_memory_partition_type_t__enumvalues = {
|
||||
0: 'MEMORY_PARTITION_UNKNOWN',
|
||||
1: 'MEMORY_PARTITION_NPS1',
|
||||
2: 'MEMORY_PARTITION_NPS2',
|
||||
3: 'MEMORY_PARTITION_NPS4',
|
||||
4: 'MEMORY_PARTITION_NPS8',
|
||||
0: 'AMDSMI_MEMORY_PARTITION_UNKNOWN',
|
||||
1: 'AMDSMI_MEMORY_PARTITION_NPS1',
|
||||
2: 'AMDSMI_MEMORY_PARTITION_NPS2',
|
||||
3: 'AMDSMI_MEMORY_PARTITION_NPS4',
|
||||
4: 'AMDSMI_MEMORY_PARTITION_NPS8',
|
||||
}
|
||||
MEMORY_PARTITION_UNKNOWN = 0
|
||||
MEMORY_PARTITION_NPS1 = 1
|
||||
MEMORY_PARTITION_NPS2 = 2
|
||||
MEMORY_PARTITION_NPS4 = 3
|
||||
MEMORY_PARTITION_NPS8 = 4
|
||||
AMDSMI_MEMORY_PARTITION_UNKNOWN = 0
|
||||
AMDSMI_MEMORY_PARTITION_NPS1 = 1
|
||||
AMDSMI_MEMORY_PARTITION_NPS2 = 2
|
||||
AMDSMI_MEMORY_PARTITION_NPS4 = 3
|
||||
AMDSMI_MEMORY_PARTITION_NPS8 = 4
|
||||
amdsmi_memory_partition_type_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_temperature_type_t'
|
||||
amdsmi_temperature_type_t__enumvalues = {
|
||||
0: 'TEMPERATURE_TYPE_EDGE',
|
||||
0: 'TEMPERATURE_TYPE_FIRST',
|
||||
1: 'TEMPERATURE_TYPE_HOTSPOT',
|
||||
1: 'TEMPERATURE_TYPE_JUNCTION',
|
||||
2: 'TEMPERATURE_TYPE_VRAM',
|
||||
3: 'TEMPERATURE_TYPE_HBM_0',
|
||||
4: 'TEMPERATURE_TYPE_HBM_1',
|
||||
5: 'TEMPERATURE_TYPE_HBM_2',
|
||||
6: 'TEMPERATURE_TYPE_HBM_3',
|
||||
7: 'TEMPERATURE_TYPE_PLX',
|
||||
7: 'TEMPERATURE_TYPE__MAX',
|
||||
0: 'AMDSMI_TEMPERATURE_TYPE_EDGE',
|
||||
0: 'AMDSMI_TEMPERATURE_TYPE_FIRST',
|
||||
1: 'AMDSMI_TEMPERATURE_TYPE_HOTSPOT',
|
||||
1: 'AMDSMI_TEMPERATURE_TYPE_JUNCTION',
|
||||
2: 'AMDSMI_TEMPERATURE_TYPE_VRAM',
|
||||
3: 'AMDSMI_TEMPERATURE_TYPE_HBM_0',
|
||||
4: 'AMDSMI_TEMPERATURE_TYPE_HBM_1',
|
||||
5: 'AMDSMI_TEMPERATURE_TYPE_HBM_2',
|
||||
6: 'AMDSMI_TEMPERATURE_TYPE_HBM_3',
|
||||
7: 'AMDSMI_TEMPERATURE_TYPE_PLX',
|
||||
7: 'AMDSMI_TEMPERATURE_TYPE__MAX',
|
||||
}
|
||||
TEMPERATURE_TYPE_EDGE = 0
|
||||
TEMPERATURE_TYPE_FIRST = 0
|
||||
TEMPERATURE_TYPE_HOTSPOT = 1
|
||||
TEMPERATURE_TYPE_JUNCTION = 1
|
||||
TEMPERATURE_TYPE_VRAM = 2
|
||||
TEMPERATURE_TYPE_HBM_0 = 3
|
||||
TEMPERATURE_TYPE_HBM_1 = 4
|
||||
TEMPERATURE_TYPE_HBM_2 = 5
|
||||
TEMPERATURE_TYPE_HBM_3 = 6
|
||||
TEMPERATURE_TYPE_PLX = 7
|
||||
TEMPERATURE_TYPE__MAX = 7
|
||||
AMDSMI_TEMPERATURE_TYPE_EDGE = 0
|
||||
AMDSMI_TEMPERATURE_TYPE_FIRST = 0
|
||||
AMDSMI_TEMPERATURE_TYPE_HOTSPOT = 1
|
||||
AMDSMI_TEMPERATURE_TYPE_JUNCTION = 1
|
||||
AMDSMI_TEMPERATURE_TYPE_VRAM = 2
|
||||
AMDSMI_TEMPERATURE_TYPE_HBM_0 = 3
|
||||
AMDSMI_TEMPERATURE_TYPE_HBM_1 = 4
|
||||
AMDSMI_TEMPERATURE_TYPE_HBM_2 = 5
|
||||
AMDSMI_TEMPERATURE_TYPE_HBM_3 = 6
|
||||
AMDSMI_TEMPERATURE_TYPE_PLX = 7
|
||||
AMDSMI_TEMPERATURE_TYPE__MAX = 7
|
||||
amdsmi_temperature_type_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_fw_block_t'
|
||||
amdsmi_fw_block_t__enumvalues = {
|
||||
1: 'FW_ID_SMU',
|
||||
1: 'FW_ID_FIRST',
|
||||
2: 'FW_ID_CP_CE',
|
||||
3: 'FW_ID_CP_PFP',
|
||||
4: 'FW_ID_CP_ME',
|
||||
5: 'FW_ID_CP_MEC_JT1',
|
||||
6: 'FW_ID_CP_MEC_JT2',
|
||||
7: 'FW_ID_CP_MEC1',
|
||||
8: 'FW_ID_CP_MEC2',
|
||||
9: 'FW_ID_RLC',
|
||||
10: 'FW_ID_SDMA0',
|
||||
11: 'FW_ID_SDMA1',
|
||||
12: 'FW_ID_SDMA2',
|
||||
13: 'FW_ID_SDMA3',
|
||||
14: 'FW_ID_SDMA4',
|
||||
15: 'FW_ID_SDMA5',
|
||||
16: 'FW_ID_SDMA6',
|
||||
17: 'FW_ID_SDMA7',
|
||||
18: 'FW_ID_VCN',
|
||||
19: 'FW_ID_UVD',
|
||||
20: 'FW_ID_VCE',
|
||||
21: 'FW_ID_ISP',
|
||||
22: 'FW_ID_DMCU_ERAM',
|
||||
23: 'FW_ID_DMCU_ISR',
|
||||
24: 'FW_ID_RLC_RESTORE_LIST_GPM_MEM',
|
||||
25: 'FW_ID_RLC_RESTORE_LIST_SRM_MEM',
|
||||
26: 'FW_ID_RLC_RESTORE_LIST_CNTL',
|
||||
27: 'FW_ID_RLC_V',
|
||||
28: 'FW_ID_MMSCH',
|
||||
29: 'FW_ID_PSP_SYSDRV',
|
||||
30: 'FW_ID_PSP_SOSDRV',
|
||||
31: 'FW_ID_PSP_TOC',
|
||||
32: 'FW_ID_PSP_KEYDB',
|
||||
33: 'FW_ID_DFC',
|
||||
34: 'FW_ID_PSP_SPL',
|
||||
35: 'FW_ID_DRV_CAP',
|
||||
36: 'FW_ID_MC',
|
||||
37: 'FW_ID_PSP_BL',
|
||||
38: 'FW_ID_CP_PM4',
|
||||
39: 'FW_ID_RLC_P',
|
||||
40: 'FW_ID_SEC_POLICY_STAGE2',
|
||||
41: 'FW_ID_REG_ACCESS_WHITELIST',
|
||||
42: 'FW_ID_IMU_DRAM',
|
||||
43: 'FW_ID_IMU_IRAM',
|
||||
44: 'FW_ID_SDMA_TH0',
|
||||
45: 'FW_ID_SDMA_TH1',
|
||||
46: 'FW_ID_CP_MES',
|
||||
47: 'FW_ID_MES_KIQ',
|
||||
48: 'FW_ID_MES_STACK',
|
||||
49: 'FW_ID_MES_THREAD1',
|
||||
50: 'FW_ID_MES_THREAD1_STACK',
|
||||
51: 'FW_ID_RLX6',
|
||||
52: 'FW_ID_RLX6_DRAM_BOOT',
|
||||
53: 'FW_ID_RS64_ME',
|
||||
54: 'FW_ID_RS64_ME_P0_DATA',
|
||||
55: 'FW_ID_RS64_ME_P1_DATA',
|
||||
56: 'FW_ID_RS64_PFP',
|
||||
57: 'FW_ID_RS64_PFP_P0_DATA',
|
||||
58: 'FW_ID_RS64_PFP_P1_DATA',
|
||||
59: 'FW_ID_RS64_MEC',
|
||||
60: 'FW_ID_RS64_MEC_P0_DATA',
|
||||
61: 'FW_ID_RS64_MEC_P1_DATA',
|
||||
62: 'FW_ID_RS64_MEC_P2_DATA',
|
||||
63: 'FW_ID_RS64_MEC_P3_DATA',
|
||||
64: 'FW_ID_PPTABLE',
|
||||
65: 'FW_ID_PSP_SOC',
|
||||
66: 'FW_ID_PSP_DBG',
|
||||
67: 'FW_ID_PSP_INTF',
|
||||
68: 'FW_ID_RLX6_CORE1',
|
||||
69: 'FW_ID_RLX6_DRAM_BOOT_CORE1',
|
||||
70: 'FW_ID_RLCV_LX7',
|
||||
71: 'FW_ID_RLC_SAVE_RESTORE_LIST',
|
||||
72: 'FW_ID_ASD',
|
||||
73: 'FW_ID_TA_RAS',
|
||||
74: 'FW_ID_TA_XGMI',
|
||||
75: 'FW_ID_RLC_SRLG',
|
||||
76: 'FW_ID_RLC_SRLS',
|
||||
77: 'FW_ID_PM',
|
||||
78: 'FW_ID_DMCU',
|
||||
79: 'FW_ID__MAX',
|
||||
1: 'AMDSMI_FW_ID_SMU',
|
||||
1: 'AMDSMI_FW_ID_FIRST',
|
||||
2: 'AMDSMI_FW_ID_CP_CE',
|
||||
3: 'AMDSMI_FW_ID_CP_PFP',
|
||||
4: 'AMDSMI_FW_ID_CP_ME',
|
||||
5: 'AMDSMI_FW_ID_CP_MEC_JT1',
|
||||
6: 'AMDSMI_FW_ID_CP_MEC_JT2',
|
||||
7: 'AMDSMI_FW_ID_CP_MEC1',
|
||||
8: 'AMDSMI_FW_ID_CP_MEC2',
|
||||
9: 'AMDSMI_FW_ID_RLC',
|
||||
10: 'AMDSMI_FW_ID_SDMA0',
|
||||
11: 'AMDSMI_FW_ID_SDMA1',
|
||||
12: 'AMDSMI_FW_ID_SDMA2',
|
||||
13: 'AMDSMI_FW_ID_SDMA3',
|
||||
14: 'AMDSMI_FW_ID_SDMA4',
|
||||
15: 'AMDSMI_FW_ID_SDMA5',
|
||||
16: 'AMDSMI_FW_ID_SDMA6',
|
||||
17: 'AMDSMI_FW_ID_SDMA7',
|
||||
18: 'AMDSMI_FW_ID_VCN',
|
||||
19: 'AMDSMI_FW_ID_UVD',
|
||||
20: 'AMDSMI_FW_ID_VCE',
|
||||
21: 'AMDSMI_ FW_ID_ISP',
|
||||
22: 'AMDSMI_FW_ID_DMCU_ERAM',
|
||||
23: 'AMDSMI_FW_ID_DMCU_ISR',
|
||||
24: 'AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM',
|
||||
25: 'AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM',
|
||||
26: 'AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL',
|
||||
27: 'AMDSMI_FW_ID_RLC_V',
|
||||
28: 'AMDSMI_FW_ID_MMSCH',
|
||||
29: 'AMDSMI_FW_ID_PSP_SYSDRV',
|
||||
30: 'AMDSMI_FW_ID_PSP_SOSDRV',
|
||||
31: 'AMDSMI_FW_ID_PSP_TOC',
|
||||
32: 'AMDSMI_FW_ID_PSP_KEYDB',
|
||||
33: 'AMDSMI_FW_ID_DFC',
|
||||
34: 'AMDSMI_FW_ID_PSP_SPL',
|
||||
35: 'AMDSMI_FW_ID_DRV_CAP',
|
||||
36: 'AMDSMI_FW_ID_MC',
|
||||
37: 'AMDSMI_FW_ID_PSP_BL',
|
||||
38: 'AMDSMI_FW_ID_CP_PM4',
|
||||
39: 'AMDSMI_FW_ID_RLC_P',
|
||||
40: 'AMDSMI_FW_ID_SEC_POLICY_STAGE2',
|
||||
41: 'AMDSMI_FW_ID_REG_ACCESS_WHITELIST',
|
||||
42: 'AMDSMI_FW_ID_IMU_DRAM',
|
||||
43: 'AMDSMI_FW_ID_IMU_IRAM',
|
||||
44: 'AMDSMI_FW_ID_SDMA_TH0',
|
||||
45: 'AMDSMI_FW_ID_SDMA_TH1',
|
||||
46: 'AMDSMI_FW_ID_CP_MES',
|
||||
47: 'AMDSMI_FW_ID_MES_KIQ',
|
||||
48: 'AMDSMI_FW_ID_MES_STACK',
|
||||
49: 'AMDSMI_FW_ID_MES_THREAD1',
|
||||
50: 'AMDSMI_FW_ID_MES_THREAD1_STACK',
|
||||
51: 'AMDSMI_FW_ID_RLX6',
|
||||
52: 'AMDSMI_FW_ID_RLX6_DRAM_BOOT',
|
||||
53: 'AMDSMI_FW_ID_RS64_ME',
|
||||
54: 'AMDSMI_FW_ID_RS64_ME_P0_DATA',
|
||||
55: 'AMDSMI_FW_ID_RS64_ME_P1_DATA',
|
||||
56: 'AMDSMI_FW_ID_RS64_PFP',
|
||||
57: 'AMDSMI_FW_ID_RS64_PFP_P0_DATA',
|
||||
58: 'AMDSMI_FW_ID_RS64_PFP_P1_DATA',
|
||||
59: 'AMDSMI_FW_ID_RS64_MEC',
|
||||
60: 'AMDSMI_FW_ID_RS64_MEC_P0_DATA',
|
||||
61: 'AMDSMI_FW_ID_RS64_MEC_P1_DATA',
|
||||
62: 'AMDSMI_FW_ID_RS64_MEC_P2_DATA',
|
||||
63: 'AMDSMI_FW_ID_RS64_MEC_P3_DATA',
|
||||
64: 'AMDSMI_FW_ID_PPTABLE',
|
||||
65: 'AMDSMI_FW_ID_PSP_SOC',
|
||||
66: 'AMDSMI_FW_ID_PSP_DBG',
|
||||
67: 'AMDSMI_FW_ID_PSP_INTF',
|
||||
68: 'AMDSMI_FW_ID_RLX6_CORE1',
|
||||
69: 'AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1',
|
||||
70: 'AMDSMI_FW_ID_RLCV_LX7',
|
||||
71: 'AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST',
|
||||
72: 'AMDSMI_FW_ID_ASD',
|
||||
73: 'AMDSMI_FW_ID_TA_RAS',
|
||||
74: 'AMDSMI_FW_ID_TA_XGMI',
|
||||
75: 'AMDSMI_FW_ID_RLC_SRLG',
|
||||
76: 'AMDSMI_FW_ID_RLC_SRLS',
|
||||
77: 'AMDSMI_FW_ID_PM',
|
||||
78: 'AMDSMI_FW_ID_DMCU',
|
||||
79: 'AMDSMI_FW_ID__MAX',
|
||||
}
|
||||
FW_ID_SMU = 1
|
||||
FW_ID_FIRST = 1
|
||||
FW_ID_CP_CE = 2
|
||||
FW_ID_CP_PFP = 3
|
||||
FW_ID_CP_ME = 4
|
||||
FW_ID_CP_MEC_JT1 = 5
|
||||
FW_ID_CP_MEC_JT2 = 6
|
||||
FW_ID_CP_MEC1 = 7
|
||||
FW_ID_CP_MEC2 = 8
|
||||
FW_ID_RLC = 9
|
||||
FW_ID_SDMA0 = 10
|
||||
FW_ID_SDMA1 = 11
|
||||
FW_ID_SDMA2 = 12
|
||||
FW_ID_SDMA3 = 13
|
||||
FW_ID_SDMA4 = 14
|
||||
FW_ID_SDMA5 = 15
|
||||
FW_ID_SDMA6 = 16
|
||||
FW_ID_SDMA7 = 17
|
||||
FW_ID_VCN = 18
|
||||
FW_ID_UVD = 19
|
||||
FW_ID_VCE = 20
|
||||
FW_ID_ISP = 21
|
||||
FW_ID_DMCU_ERAM = 22
|
||||
FW_ID_DMCU_ISR = 23
|
||||
FW_ID_RLC_RESTORE_LIST_GPM_MEM = 24
|
||||
FW_ID_RLC_RESTORE_LIST_SRM_MEM = 25
|
||||
FW_ID_RLC_RESTORE_LIST_CNTL = 26
|
||||
FW_ID_RLC_V = 27
|
||||
FW_ID_MMSCH = 28
|
||||
FW_ID_PSP_SYSDRV = 29
|
||||
FW_ID_PSP_SOSDRV = 30
|
||||
FW_ID_PSP_TOC = 31
|
||||
FW_ID_PSP_KEYDB = 32
|
||||
FW_ID_DFC = 33
|
||||
FW_ID_PSP_SPL = 34
|
||||
FW_ID_DRV_CAP = 35
|
||||
FW_ID_MC = 36
|
||||
FW_ID_PSP_BL = 37
|
||||
FW_ID_CP_PM4 = 38
|
||||
FW_ID_RLC_P = 39
|
||||
FW_ID_SEC_POLICY_STAGE2 = 40
|
||||
FW_ID_REG_ACCESS_WHITELIST = 41
|
||||
FW_ID_IMU_DRAM = 42
|
||||
FW_ID_IMU_IRAM = 43
|
||||
FW_ID_SDMA_TH0 = 44
|
||||
FW_ID_SDMA_TH1 = 45
|
||||
FW_ID_CP_MES = 46
|
||||
FW_ID_MES_KIQ = 47
|
||||
FW_ID_MES_STACK = 48
|
||||
FW_ID_MES_THREAD1 = 49
|
||||
FW_ID_MES_THREAD1_STACK = 50
|
||||
FW_ID_RLX6 = 51
|
||||
FW_ID_RLX6_DRAM_BOOT = 52
|
||||
FW_ID_RS64_ME = 53
|
||||
FW_ID_RS64_ME_P0_DATA = 54
|
||||
FW_ID_RS64_ME_P1_DATA = 55
|
||||
FW_ID_RS64_PFP = 56
|
||||
FW_ID_RS64_PFP_P0_DATA = 57
|
||||
FW_ID_RS64_PFP_P1_DATA = 58
|
||||
FW_ID_RS64_MEC = 59
|
||||
FW_ID_RS64_MEC_P0_DATA = 60
|
||||
FW_ID_RS64_MEC_P1_DATA = 61
|
||||
FW_ID_RS64_MEC_P2_DATA = 62
|
||||
FW_ID_RS64_MEC_P3_DATA = 63
|
||||
FW_ID_PPTABLE = 64
|
||||
FW_ID_PSP_SOC = 65
|
||||
FW_ID_PSP_DBG = 66
|
||||
FW_ID_PSP_INTF = 67
|
||||
FW_ID_RLX6_CORE1 = 68
|
||||
FW_ID_RLX6_DRAM_BOOT_CORE1 = 69
|
||||
FW_ID_RLCV_LX7 = 70
|
||||
FW_ID_RLC_SAVE_RESTORE_LIST = 71
|
||||
FW_ID_ASD = 72
|
||||
FW_ID_TA_RAS = 73
|
||||
FW_ID_TA_XGMI = 74
|
||||
FW_ID_RLC_SRLG = 75
|
||||
FW_ID_RLC_SRLS = 76
|
||||
FW_ID_PM = 77
|
||||
FW_ID_DMCU = 78
|
||||
FW_ID__MAX = 79
|
||||
AMDSMI_FW_ID_SMU = 1
|
||||
AMDSMI_FW_ID_FIRST = 1
|
||||
AMDSMI_FW_ID_CP_CE = 2
|
||||
AMDSMI_FW_ID_CP_PFP = 3
|
||||
AMDSMI_FW_ID_CP_ME = 4
|
||||
AMDSMI_FW_ID_CP_MEC_JT1 = 5
|
||||
AMDSMI_FW_ID_CP_MEC_JT2 = 6
|
||||
AMDSMI_FW_ID_CP_MEC1 = 7
|
||||
AMDSMI_FW_ID_CP_MEC2 = 8
|
||||
AMDSMI_FW_ID_RLC = 9
|
||||
AMDSMI_FW_ID_SDMA0 = 10
|
||||
AMDSMI_FW_ID_SDMA1 = 11
|
||||
AMDSMI_FW_ID_SDMA2 = 12
|
||||
AMDSMI_FW_ID_SDMA3 = 13
|
||||
AMDSMI_FW_ID_SDMA4 = 14
|
||||
AMDSMI_FW_ID_SDMA5 = 15
|
||||
AMDSMI_FW_ID_SDMA6 = 16
|
||||
AMDSMI_FW_ID_SDMA7 = 17
|
||||
AMDSMI_FW_ID_VCN = 18
|
||||
AMDSMI_FW_ID_UVD = 19
|
||||
AMDSMI_FW_ID_VCE = 20
|
||||
AMDSMI_ FW_ID_ISP = 21
|
||||
AMDSMI_FW_ID_DMCU_ERAM = 22
|
||||
AMDSMI_FW_ID_DMCU_ISR = 23
|
||||
AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM = 24
|
||||
AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM = 25
|
||||
AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL = 26
|
||||
AMDSMI_FW_ID_RLC_V = 27
|
||||
AMDSMI_FW_ID_MMSCH = 28
|
||||
AMDSMI_FW_ID_PSP_SYSDRV = 29
|
||||
AMDSMI_FW_ID_PSP_SOSDRV = 30
|
||||
AMDSMI_FW_ID_PSP_TOC = 31
|
||||
AMDSMI_FW_ID_PSP_KEYDB = 32
|
||||
AMDSMI_FW_ID_DFC = 33
|
||||
AMDSMI_FW_ID_PSP_SPL = 34
|
||||
AMDSMI_FW_ID_DRV_CAP = 35
|
||||
AMDSMI_FW_ID_MC = 36
|
||||
AMDSMI_FW_ID_PSP_BL = 37
|
||||
AMDSMI_FW_ID_CP_PM4 = 38
|
||||
AMDSMI_FW_ID_RLC_P = 39
|
||||
AMDSMI_FW_ID_SEC_POLICY_STAGE2 = 40
|
||||
AMDSMI_FW_ID_REG_ACCESS_WHITELIST = 41
|
||||
AMDSMI_FW_ID_IMU_DRAM = 42
|
||||
AMDSMI_FW_ID_IMU_IRAM = 43
|
||||
AMDSMI_FW_ID_SDMA_TH0 = 44
|
||||
AMDSMI_FW_ID_SDMA_TH1 = 45
|
||||
AMDSMI_FW_ID_CP_MES = 46
|
||||
AMDSMI_FW_ID_MES_KIQ = 47
|
||||
AMDSMI_FW_ID_MES_STACK = 48
|
||||
AMDSMI_FW_ID_MES_THREAD1 = 49
|
||||
AMDSMI_FW_ID_MES_THREAD1_STACK = 50
|
||||
AMDSMI_FW_ID_RLX6 = 51
|
||||
AMDSMI_FW_ID_RLX6_DRAM_BOOT = 52
|
||||
AMDSMI_FW_ID_RS64_ME = 53
|
||||
AMDSMI_FW_ID_RS64_ME_P0_DATA = 54
|
||||
AMDSMI_FW_ID_RS64_ME_P1_DATA = 55
|
||||
AMDSMI_FW_ID_RS64_PFP = 56
|
||||
AMDSMI_FW_ID_RS64_PFP_P0_DATA = 57
|
||||
AMDSMI_FW_ID_RS64_PFP_P1_DATA = 58
|
||||
AMDSMI_FW_ID_RS64_MEC = 59
|
||||
AMDSMI_FW_ID_RS64_MEC_P0_DATA = 60
|
||||
AMDSMI_FW_ID_RS64_MEC_P1_DATA = 61
|
||||
AMDSMI_FW_ID_RS64_MEC_P2_DATA = 62
|
||||
AMDSMI_FW_ID_RS64_MEC_P3_DATA = 63
|
||||
AMDSMI_FW_ID_PPTABLE = 64
|
||||
AMDSMI_FW_ID_PSP_SOC = 65
|
||||
AMDSMI_FW_ID_PSP_DBG = 66
|
||||
AMDSMI_FW_ID_PSP_INTF = 67
|
||||
AMDSMI_FW_ID_RLX6_CORE1 = 68
|
||||
AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1 = 69
|
||||
AMDSMI_FW_ID_RLCV_LX7 = 70
|
||||
AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST = 71
|
||||
AMDSMI_FW_ID_ASD = 72
|
||||
AMDSMI_FW_ID_TA_RAS = 73
|
||||
AMDSMI_FW_ID_TA_XGMI = 74
|
||||
AMDSMI_FW_ID_RLC_SRLG = 75
|
||||
AMDSMI_FW_ID_RLC_SRLS = 76
|
||||
AMDSMI_FW_ID_PM = 77
|
||||
AMDSMI_FW_ID_DMCU = 78
|
||||
AMDSMI_FW_ID__MAX = 79
|
||||
amdsmi_fw_block_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_vram_type_t'
|
||||
amdsmi_vram_type_t__enumvalues = {
|
||||
0: 'VRAM_TYPE_UNKNOWN',
|
||||
1: 'VRAM_TYPE_GDDR1',
|
||||
2: 'VRAM_TYPE_DDR2',
|
||||
3: 'VRAM_TYPE_GDDR3',
|
||||
4: 'VRAM_TYPE_GDDR4',
|
||||
5: 'VRAM_TYPE_GDDR5',
|
||||
6: 'VRAM_TYPE_HBM',
|
||||
7: 'VRAM_TYPE_DDR3',
|
||||
8: 'VRAM_TYPE_DDR4',
|
||||
9: 'VRAM_TYPE_GDDR6',
|
||||
9: 'VRAM_TYPE__MAX',
|
||||
0: 'AMDSMI_VRAM_TYPE_UNKNOWN',
|
||||
1: 'AMDSMI_VRAM_TYPE_GDDR1',
|
||||
2: 'AMDSMI_VRAM_TYPE_DDR2',
|
||||
3: 'AMDSMI_VRAM_TYPE_GDDR3',
|
||||
4: 'AMDSMI_VRAM_TYPE_GDDR4',
|
||||
5: 'AMDSMI_VRAM_TYPE_GDDR5',
|
||||
6: 'AMDSMI_VRAM_TYPE_HBM',
|
||||
7: 'AMDSMI_VRAM_TYPE_DDR3',
|
||||
8: 'AMDSMI_VRAM_TYPE_DDR4',
|
||||
9: 'AMDSMI_VRAM_TYPE_GDDR6',
|
||||
9: 'AMDSMI_VRAM_TYPE__MAX',
|
||||
}
|
||||
VRAM_TYPE_UNKNOWN = 0
|
||||
VRAM_TYPE_GDDR1 = 1
|
||||
VRAM_TYPE_DDR2 = 2
|
||||
VRAM_TYPE_GDDR3 = 3
|
||||
VRAM_TYPE_GDDR4 = 4
|
||||
VRAM_TYPE_GDDR5 = 5
|
||||
VRAM_TYPE_HBM = 6
|
||||
VRAM_TYPE_DDR3 = 7
|
||||
VRAM_TYPE_DDR4 = 8
|
||||
VRAM_TYPE_GDDR6 = 9
|
||||
VRAM_TYPE__MAX = 9
|
||||
AMDSMI_VRAM_TYPE_UNKNOWN = 0
|
||||
AMDSMI_VRAM_TYPE_GDDR1 = 1
|
||||
AMDSMI_VRAM_TYPE_DDR2 = 2
|
||||
AMDSMI_VRAM_TYPE_GDDR3 = 3
|
||||
AMDSMI_VRAM_TYPE_GDDR4 = 4
|
||||
AMDSMI_VRAM_TYPE_GDDR5 = 5
|
||||
AMDSMI_VRAM_TYPE_HBM = 6
|
||||
AMDSMI_VRAM_TYPE_DDR3 = 7
|
||||
AMDSMI_VRAM_TYPE_DDR4 = 8
|
||||
AMDSMI_VRAM_TYPE_GDDR6 = 9
|
||||
AMDSMI_VRAM_TYPE__MAX = 9
|
||||
amdsmi_vram_type_t = ctypes.c_uint32 # enum
|
||||
|
||||
# values for enumeration 'amdsmi_vram_vendor_type_t'
|
||||
@@ -941,7 +941,7 @@ struct_amdsmi_vram_info_t._pack_ = 1 # source:False
|
||||
struct_amdsmi_vram_info_t._fields_ = [
|
||||
('vram_type', amdsmi_vram_type_t),
|
||||
('vram_vendor', amdsmi_vram_vendor_type_t),
|
||||
('vram_size_mb', ctypes.c_uint64),
|
||||
('vram_size', ctypes.c_uint64),
|
||||
]
|
||||
|
||||
amdsmi_vram_info_t = struct_amdsmi_vram_info_t
|
||||
@@ -990,10 +990,10 @@ class struct_amdsmi_clk_info_t(Structure):
|
||||
|
||||
struct_amdsmi_clk_info_t._pack_ = 1 # source:False
|
||||
struct_amdsmi_clk_info_t._fields_ = [
|
||||
('cur_clk', ctypes.c_uint32),
|
||||
('clk', ctypes.c_uint32),
|
||||
('min_clk', ctypes.c_uint32),
|
||||
('max_clk', ctypes.c_uint32),
|
||||
('sleep_clk', ctypes.c_uint32),
|
||||
('clk_deep_sleep', ctypes.c_uint32),
|
||||
('reserved', ctypes.c_uint32 * 4),
|
||||
]
|
||||
|
||||
@@ -2488,54 +2488,54 @@ __all__ = \
|
||||
'AMDSMI_VRAM_VENDOR__PLACEHOLDER5', 'AMDSMI_VRAM_VENDOR__SAMSUNG',
|
||||
'AMDSMI_VRAM_VENDOR__WINBOND', 'AMDSMI_XGMI_STATUS_ERROR',
|
||||
'AMDSMI_XGMI_STATUS_MULTIPLE_ERRORS',
|
||||
'AMDSMI_XGMI_STATUS_NO_ERRORS', 'AMD_APU', 'AMD_CPU',
|
||||
'AMD_CPU_CORE', 'AMD_GPU', 'CLK_TYPE_DCEF', 'CLK_TYPE_DCLK0',
|
||||
'CLK_TYPE_DCLK1', 'CLK_TYPE_DF', 'CLK_TYPE_FIRST', 'CLK_TYPE_GFX',
|
||||
'CLK_TYPE_MEM', 'CLK_TYPE_PCIE', 'CLK_TYPE_SOC', 'CLK_TYPE_SYS',
|
||||
'CLK_TYPE_VCLK0', 'CLK_TYPE_VCLK1', 'CLK_TYPE__MAX',
|
||||
'COMPUTE_PARTITION_CPX', 'COMPUTE_PARTITION_DPX',
|
||||
'COMPUTE_PARTITION_INVALID', 'COMPUTE_PARTITION_QPX',
|
||||
'COMPUTE_PARTITION_SPX', 'COMPUTE_PARTITION_TPX',
|
||||
'CONTAINER_DOCKER', 'CONTAINER_LXC', 'FW_ID_ASD', 'FW_ID_CP_CE',
|
||||
'FW_ID_CP_ME', 'FW_ID_CP_MEC1', 'FW_ID_CP_MEC2',
|
||||
'FW_ID_CP_MEC_JT1', 'FW_ID_CP_MEC_JT2', 'FW_ID_CP_MES',
|
||||
'FW_ID_CP_PFP', 'FW_ID_CP_PM4', 'FW_ID_DFC', 'FW_ID_DMCU',
|
||||
'FW_ID_DMCU_ERAM', 'FW_ID_DMCU_ISR', 'FW_ID_DRV_CAP',
|
||||
'FW_ID_FIRST', 'FW_ID_IMU_DRAM', 'FW_ID_IMU_IRAM', 'FW_ID_ISP',
|
||||
'FW_ID_MC', 'FW_ID_MES_KIQ', 'FW_ID_MES_STACK',
|
||||
'FW_ID_MES_THREAD1', 'FW_ID_MES_THREAD1_STACK', 'FW_ID_MMSCH',
|
||||
'FW_ID_PM', 'FW_ID_PPTABLE', 'FW_ID_PSP_BL', 'FW_ID_PSP_DBG',
|
||||
'FW_ID_PSP_INTF', 'FW_ID_PSP_KEYDB', 'FW_ID_PSP_SOC',
|
||||
'FW_ID_PSP_SOSDRV', 'FW_ID_PSP_SPL', 'FW_ID_PSP_SYSDRV',
|
||||
'FW_ID_PSP_TOC', 'FW_ID_REG_ACCESS_WHITELIST', 'FW_ID_RLC',
|
||||
'FW_ID_RLCV_LX7', 'FW_ID_RLC_P', 'FW_ID_RLC_RESTORE_LIST_CNTL',
|
||||
'FW_ID_RLC_RESTORE_LIST_GPM_MEM',
|
||||
'FW_ID_RLC_RESTORE_LIST_SRM_MEM', 'FW_ID_RLC_SAVE_RESTORE_LIST',
|
||||
'FW_ID_RLC_SRLG', 'FW_ID_RLC_SRLS', 'FW_ID_RLC_V', 'FW_ID_RLX6',
|
||||
'FW_ID_RLX6_CORE1', 'FW_ID_RLX6_DRAM_BOOT',
|
||||
'FW_ID_RLX6_DRAM_BOOT_CORE1', 'FW_ID_RS64_ME', 'FW_ID_RS64_MEC',
|
||||
'FW_ID_RS64_MEC_P0_DATA', 'FW_ID_RS64_MEC_P1_DATA',
|
||||
'FW_ID_RS64_MEC_P2_DATA', 'FW_ID_RS64_MEC_P3_DATA',
|
||||
'FW_ID_RS64_ME_P0_DATA', 'FW_ID_RS64_ME_P1_DATA',
|
||||
'FW_ID_RS64_PFP', 'FW_ID_RS64_PFP_P0_DATA',
|
||||
'FW_ID_RS64_PFP_P1_DATA', 'FW_ID_SDMA0', 'FW_ID_SDMA1',
|
||||
'FW_ID_SDMA2', 'FW_ID_SDMA3', 'FW_ID_SDMA4', 'FW_ID_SDMA5',
|
||||
'FW_ID_SDMA6', 'FW_ID_SDMA7', 'FW_ID_SDMA_TH0', 'FW_ID_SDMA_TH1',
|
||||
'FW_ID_SEC_POLICY_STAGE2', 'FW_ID_SMU', 'FW_ID_TA_RAS',
|
||||
'FW_ID_TA_XGMI', 'FW_ID_UVD', 'FW_ID_VCE', 'FW_ID_VCN',
|
||||
'FW_ID__MAX', 'MEMORY_PARTITION_NPS1', 'MEMORY_PARTITION_NPS2',
|
||||
'MEMORY_PARTITION_NPS4', 'MEMORY_PARTITION_NPS8',
|
||||
'MEMORY_PARTITION_UNKNOWN', 'NON_AMD_CPU', 'NON_AMD_GPU',
|
||||
'RD_BW0', 'TEMPERATURE_TYPE_EDGE', 'TEMPERATURE_TYPE_FIRST',
|
||||
'TEMPERATURE_TYPE_HBM_0', 'TEMPERATURE_TYPE_HBM_1',
|
||||
'TEMPERATURE_TYPE_HBM_2', 'TEMPERATURE_TYPE_HBM_3',
|
||||
'TEMPERATURE_TYPE_HOTSPOT', 'TEMPERATURE_TYPE_JUNCTION',
|
||||
'TEMPERATURE_TYPE_PLX', 'TEMPERATURE_TYPE_VRAM',
|
||||
'TEMPERATURE_TYPE__MAX', 'UNKNOWN', 'VRAM_TYPE_DDR2',
|
||||
'VRAM_TYPE_DDR3', 'VRAM_TYPE_DDR4', 'VRAM_TYPE_GDDR1',
|
||||
'VRAM_TYPE_GDDR3', 'VRAM_TYPE_GDDR4', 'VRAM_TYPE_GDDR5',
|
||||
'VRAM_TYPE_GDDR6', 'VRAM_TYPE_HBM', 'VRAM_TYPE_UNKNOWN',
|
||||
'VRAM_TYPE__MAX', 'WR_BW0', 'amd_metrics_table_header_t',
|
||||
'AMDSMI_XGMI_STATUS_NO_ERRORS', 'AMDSMI_PROCESSOR_TYPE_AMD_APU', 'AMDSMI_PROCESSOR_TYPE_AMD_CPU',
|
||||
'AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE', 'AMDSMI_PROCESSOR_TYPE_AMD_GPU', 'AMDSMI_CLK_TYPE_DCEF', 'AMDSMI_CLK_TYPE_DCLK0',
|
||||
'AMDSMI_CLK_TYPE_DCLK1', 'AMDSMI_CLK_TYPE_DF', 'AMDSMI_CLK_TYPE_FIRST', 'AMDSMI_CLK_TYPE_GFX',
|
||||
'AMDSMI_CLK_TYPE_MEM', 'AMDSMI_CLK_TYPE_PCIE', 'AMDSMI_CLK_TYPE_SOC', 'AMDSMI_CLK_TYPE_SYS',
|
||||
'AMDSMI_CLK_TYPE_VCLK0', 'AMDSMI_CLK_TYPE_VCLK1', 'AMDSMI_CLK_TYPE__MAX',
|
||||
'AMDSMI_COMPUTE_PARTITION_CPX', 'AMDSMI_COMPUTE_PARTITION_DPX',
|
||||
'AMDSMI_COMPUTE_PARTITION_INVALID', 'AMDSMI_COMPUTE_PARTITION_QPX',
|
||||
'AMDSMI_COMPUTE_PARTITION_SPX', 'AMDSMI_COMPUTE_PARTITION_TPX',
|
||||
'AMDSMI_CONTAINER_DOCKER', 'AMDSMI_CONTAINER_LXC', 'AMDSMI_FW_ID_ASD', 'AMDSMI_FW_ID_CP_CE',
|
||||
'AMDSMI_FW_ID_CP_ME', 'AMDSMI_FW_ID_CP_MEC1', 'AMDSMI_FW_ID_CP_MEC2',
|
||||
'AMDSMI_FW_ID_CP_MEC_JT1', 'AMDSMI_FW_ID_CP_MEC_JT2', 'AMDSMI_FW_ID_CP_MES',
|
||||
'AMDSMI_FW_ID_CP_PFP', 'AMDSMI_FW_ID_CP_PM4', 'AMDSMI_FW_ID_DFC', 'AMDSMI_FW_ID_DMCU',
|
||||
'AMDSMI_FW_ID_DMCU_ERAM', 'AMDSMI_FW_ID_DMCU_ISR', 'AMDSMI_FW_ID_DRV_CAP',
|
||||
'AMDSMI_FW_ID_FIRST', 'AMDSMI_FW_ID_IMU_DRAM', 'AMDSMI_FW_ID_IMU_IRAM', 'AMDSMI_ FW_ID_ISP',
|
||||
'AMDSMI_FW_ID_MC', 'AMDSMI_FW_ID_MES_KIQ', 'AMDSMI_FW_ID_MES_STACK',
|
||||
'AMDSMI_FW_ID_MES_THREAD1', 'AMDSMI_FW_ID_MES_THREAD1_STACK', 'AMDSMI_FW_ID_MMSCH',
|
||||
'AMDSMI_FW_ID_PM', 'AMDSMI_FW_ID_PPTABLE', 'AMDSMI_FW_ID_PSP_BL', 'AMDSMI_FW_ID_PSP_DBG',
|
||||
'AMDSMI_FW_ID_PSP_INTF', 'AMDSMI_FW_ID_PSP_KEYDB', 'AMDSMI_FW_ID_PSP_SOC',
|
||||
'AMDSMI_FW_ID_PSP_SOSDRV', 'AMDSMI_FW_ID_PSP_SPL', 'AMDSMI_FW_ID_PSP_SYSDRV',
|
||||
'AMDSMI_FW_ID_PSP_TOC', 'AMDSMI_FW_ID_REG_ACCESS_WHITELIST', 'AMDSMI_FW_ID_RLC',
|
||||
'AMDSMI_FW_ID_RLCV_LX7', 'AMDSMI_FW_ID_RLC_P', 'AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL',
|
||||
'AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM',
|
||||
'AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM', 'AMDSMI_FW_ID_RLC_SAVE_RESTORE_LIST',
|
||||
'AMDSMI_FW_ID_RLC_SRLG', 'AMDSMI_FW_ID_RLC_SRLS', 'AMDSMI_FW_ID_RLC_V', 'AMDSMI_FW_ID_RLX6',
|
||||
'AMDSMI_FW_ID_RLX6_CORE1', 'AMDSMI_FW_ID_RLX6_DRAM_BOOT',
|
||||
'AMDSMI_FW_ID_RLX6_DRAM_BOOT_CORE1', 'AMDSMI_FW_ID_RS64_ME', '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_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_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_SDMA_TH0', 'AMDSMI_FW_ID_SDMA_TH1',
|
||||
'AMDSMI_FW_ID_SEC_POLICY_STAGE2', 'AMDSMI_FW_ID_SMU', 'AMDSMI_FW_ID_TA_RAS',
|
||||
'AMDSMI_FW_ID_TA_XGMI', 'AMDSMI_FW_ID_UVD', 'AMDSMI_FW_ID_VCE', 'AMDSMI_FW_ID_VCN',
|
||||
'AMDSMI_FW_ID__MAX', 'AMDSMI_MEMORY_PARTITION_NPS1', 'AMDSMI_MEMORY_PARTITION_NPS2',
|
||||
'AMDSMI_MEMORY_PARTITION_NPS4', 'AMDSMI_MEMORY_PARTITION_NPS8',
|
||||
'AMDSMI_MEMORY_PARTITION_UNKNOWN', 'AMDSMI_PROCESSOR_TYPE_NON_AMD_CPU', 'AMDSMI_PROCESSOR_TYPE_NON_AMD_GPU',
|
||||
'RD_BW0', 'AMDSMI_TEMPERATURE_TYPE_EDGE', 'AMDSMI_TEMPERATURE_TYPE_FIRST',
|
||||
'AMDSMI_TEMPERATURE_TYPE_HBM_0', 'AMDSMI_TEMPERATURE_TYPE_HBM_1',
|
||||
'AMDSMI_TEMPERATURE_TYPE_HBM_2', 'AMDSMI_TEMPERATURE_TYPE_HBM_3',
|
||||
'AMDSMI_TEMPERATURE_TYPE_HOTSPOT', 'AMDSMI_TEMPERATURE_TYPE_JUNCTION',
|
||||
'AMDSMI_TEMPERATURE_TYPE_PLX', 'AMDSMI_TEMPERATURE_TYPE_VRAM',
|
||||
'AMDSMI_TEMPERATURE_TYPE__MAX', 'UNKNOWN', 'AMDSMI_VRAM_TYPE_DDR2',
|
||||
'AMDSMI_VRAM_TYPE_DDR3', 'AMDSMI_VRAM_TYPE_DDR4', 'AMDSMI_VRAM_TYPE_GDDR1',
|
||||
'AMDSMI_VRAM_TYPE_GDDR3', 'AMDSMI_VRAM_TYPE_GDDR4', 'AMDSMI_VRAM_TYPE_GDDR5',
|
||||
'AMDSMI_VRAM_TYPE_GDDR6', 'AMDSMI_VRAM_TYPE_HBM', 'AMDSMI_VRAM_TYPE_UNKNOWN',
|
||||
'AMDSMI_VRAM_TYPE__MAX', 'WR_BW0', 'amd_metrics_table_header_t',
|
||||
'amdsmi_asic_info_t', 'amdsmi_bdf_t', 'amdsmi_bit_field_t',
|
||||
'amdsmi_board_info_t', 'amdsmi_cache_property_type_t',
|
||||
'amdsmi_card_form_factor_t', 'amdsmi_clk_info_t',
|
||||
|
||||
+63
-63
@@ -94,7 +94,7 @@ static amdsmi_status_t get_gpu_device_from_handle(amdsmi_processor_handle proces
|
||||
.handle_to_processor(processor_handle, &device);
|
||||
if (r != AMDSMI_STATUS_SUCCESS) return r;
|
||||
|
||||
if (device->get_processor_type() == AMD_GPU) {
|
||||
if (device->get_processor_type() == AMDSMI_PROCESSOR_TYPE_AMD_GPU) {
|
||||
*gpudevice = static_cast<amd::smi::AMDSmiGPUDevice*>(processor_handle);
|
||||
return AMDSMI_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -304,11 +304,11 @@ amdsmi_status_t amdsmi_get_processor_count_from_handles(amdsmi_processor_handle*
|
||||
&processor_type);
|
||||
if (r != AMDSMI_STATUS_SUCCESS) return r;
|
||||
|
||||
if(processor_type == AMD_CPU) {
|
||||
if(processor_type == AMDSMI_PROCESSOR_TYPE_AMD_CPU) {
|
||||
count_cpusockets++;
|
||||
} else if(processor_type == AMD_CPU_CORE) {
|
||||
} else if(processor_type == AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE) {
|
||||
count_cpucores++;
|
||||
} else if(processor_type == AMD_GPU) {
|
||||
} else if(processor_type == AMDSMI_PROCESSOR_TYPE_AMD_GPU) {
|
||||
count_gpus++;
|
||||
}
|
||||
}
|
||||
@@ -538,7 +538,7 @@ amdsmi_status_t amdsmi_get_temp_metric(amdsmi_processor_handle processor_handle
|
||||
}
|
||||
|
||||
// Get the PLX temperature from the gpu_metrics
|
||||
if (sensor_type == TEMPERATURE_TYPE_PLX) {
|
||||
if (sensor_type == AMDSMI_TEMPERATURE_TYPE_PLX) {
|
||||
amdsmi_gpu_metrics_t metric_info;
|
||||
auto r_status = amdsmi_get_gpu_metrics_info(
|
||||
processor_handle, &metric_info);
|
||||
@@ -568,7 +568,7 @@ amdsmi_status_t amdsmi_get_gpu_vram_usage(amdsmi_processor_handle processor_hand
|
||||
.handle_to_processor(processor_handle, &device);
|
||||
if (ret != AMDSMI_STATUS_SUCCESS) return ret;
|
||||
|
||||
if (device->get_processor_type() != AMD_GPU) {
|
||||
if (device->get_processor_type() != AMDSMI_PROCESSOR_TYPE_AMD_GPU) {
|
||||
return AMDSMI_STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
@@ -639,27 +639,27 @@ amdsmi_status_t amdsmi_get_gpu_revision(amdsmi_processor_handle processor_handle
|
||||
amdsmi_status_t amdsmi_get_fw_info(amdsmi_processor_handle processor_handle,
|
||||
amdsmi_fw_info_t *info) {
|
||||
const std::map<amdsmi_fw_block_t, rsmi_fw_block_t> fw_in_rsmi = {
|
||||
{ FW_ID_ASD, RSMI_FW_BLOCK_ASD},
|
||||
{ FW_ID_CP_CE, RSMI_FW_BLOCK_CE},
|
||||
{ FW_ID_DMCU, RSMI_FW_BLOCK_DMCU},
|
||||
{ FW_ID_MC, RSMI_FW_BLOCK_MC},
|
||||
{ FW_ID_CP_ME, RSMI_FW_BLOCK_ME},
|
||||
{ FW_ID_CP_MEC1, RSMI_FW_BLOCK_MEC},
|
||||
{ FW_ID_CP_MEC2, RSMI_FW_BLOCK_MEC2},
|
||||
{ FW_ID_CP_PFP, RSMI_FW_BLOCK_PFP},
|
||||
{ FW_ID_RLC, RSMI_FW_BLOCK_RLC},
|
||||
{ FW_ID_RLC_RESTORE_LIST_CNTL, RSMI_FW_BLOCK_RLC_SRLC},
|
||||
{ FW_ID_RLC_RESTORE_LIST_GPM_MEM, RSMI_FW_BLOCK_RLC_SRLG},
|
||||
{ FW_ID_RLC_RESTORE_LIST_SRM_MEM, RSMI_FW_BLOCK_RLC_SRLS},
|
||||
{ FW_ID_SDMA0, RSMI_FW_BLOCK_SDMA},
|
||||
{ FW_ID_SDMA1, RSMI_FW_BLOCK_SDMA2},
|
||||
{ FW_ID_PM, RSMI_FW_BLOCK_SMC},
|
||||
{ FW_ID_PSP_SOSDRV, RSMI_FW_BLOCK_SOS},
|
||||
{ FW_ID_TA_RAS, RSMI_FW_BLOCK_TA_RAS},
|
||||
{ FW_ID_TA_XGMI, RSMI_FW_BLOCK_TA_XGMI},
|
||||
{ FW_ID_UVD, RSMI_FW_BLOCK_UVD},
|
||||
{ FW_ID_VCE, RSMI_FW_BLOCK_VCE},
|
||||
{ FW_ID_VCN, RSMI_FW_BLOCK_VCN}
|
||||
{ AMDSMI_FW_ID_ASD, RSMI_FW_BLOCK_ASD},
|
||||
{ AMDSMI_FW_ID_CP_CE, RSMI_FW_BLOCK_CE},
|
||||
{ AMDSMI_FW_ID_DMCU, RSMI_FW_BLOCK_DMCU},
|
||||
{ AMDSMI_FW_ID_MC, RSMI_FW_BLOCK_MC},
|
||||
{ AMDSMI_FW_ID_CP_ME, RSMI_FW_BLOCK_ME},
|
||||
{ AMDSMI_FW_ID_CP_MEC1, RSMI_FW_BLOCK_MEC},
|
||||
{ AMDSMI_FW_ID_CP_MEC2, RSMI_FW_BLOCK_MEC2},
|
||||
{ AMDSMI_FW_ID_CP_PFP, RSMI_FW_BLOCK_PFP},
|
||||
{ AMDSMI_FW_ID_RLC, RSMI_FW_BLOCK_RLC},
|
||||
{ AMDSMI_FW_ID_RLC_RESTORE_LIST_CNTL, RSMI_FW_BLOCK_RLC_SRLC},
|
||||
{ AMDSMI_FW_ID_RLC_RESTORE_LIST_GPM_MEM, RSMI_FW_BLOCK_RLC_SRLG},
|
||||
{ AMDSMI_FW_ID_RLC_RESTORE_LIST_SRM_MEM, RSMI_FW_BLOCK_RLC_SRLS},
|
||||
{ AMDSMI_FW_ID_SDMA0, RSMI_FW_BLOCK_SDMA},
|
||||
{ AMDSMI_FW_ID_SDMA1, RSMI_FW_BLOCK_SDMA2},
|
||||
{ AMDSMI_FW_ID_PM, RSMI_FW_BLOCK_SMC},
|
||||
{ AMDSMI_FW_ID_PSP_SOSDRV, RSMI_FW_BLOCK_SOS},
|
||||
{ AMDSMI_FW_ID_TA_RAS, RSMI_FW_BLOCK_TA_RAS},
|
||||
{ AMDSMI_FW_ID_TA_XGMI, RSMI_FW_BLOCK_TA_XGMI},
|
||||
{ AMDSMI_FW_ID_UVD, RSMI_FW_BLOCK_UVD},
|
||||
{AMDSMI_FW_ID_VCE, RSMI_FW_BLOCK_VCE},
|
||||
{ AMDSMI_FW_ID_VCN, RSMI_FW_BLOCK_VCN}
|
||||
};
|
||||
|
||||
AMDSMI_CHECK_INIT();
|
||||
@@ -794,8 +794,8 @@ amdsmi_status_t amdsmi_get_gpu_vram_info(
|
||||
return r;
|
||||
|
||||
// init the info structure with default value
|
||||
info->vram_type = VRAM_TYPE_UNKNOWN;
|
||||
info->vram_size_mb = 0;
|
||||
info->vram_type = AMDSMI_VRAM_TYPE_UNKNOWN;
|
||||
info->vram_size = 0;
|
||||
info->vram_vendor = AMDSMI_VRAM_VENDOR__PLACEHOLDER0;
|
||||
|
||||
// Only can read vram type from libdrm
|
||||
@@ -811,8 +811,8 @@ amdsmi_status_t amdsmi_get_gpu_vram_info(
|
||||
}
|
||||
|
||||
// if vram type is greater than the max enum set it to unknown
|
||||
if (info->vram_type > VRAM_TYPE__MAX)
|
||||
info->vram_type = VRAM_TYPE_UNKNOWN;
|
||||
if (info->vram_type > AMDSMI_VRAM_TYPE__MAX)
|
||||
info->vram_type = AMDSMI_VRAM_TYPE_UNKNOWN;
|
||||
|
||||
// map the vendor name to enum
|
||||
char brand[256];
|
||||
@@ -843,7 +843,7 @@ amdsmi_status_t amdsmi_get_gpu_vram_info(
|
||||
r = rsmi_wrapper(rsmi_dev_memory_total_get, processor_handle,
|
||||
RSMI_MEM_TYPE_VRAM, &total);
|
||||
if (r == AMDSMI_STATUS_SUCCESS) {
|
||||
info->vram_size_mb = total / (1024 * 1024);
|
||||
info->vram_size = total / (1024 * 1024);
|
||||
}
|
||||
|
||||
return AMDSMI_STATUS_SUCCESS;
|
||||
@@ -1250,7 +1250,7 @@ amdsmi_get_power_cap_info(amdsmi_processor_handle processor_handle,
|
||||
set_ret_success = true;
|
||||
|
||||
info->power_cap = power_cap;
|
||||
status = smi_amdgpu_get_ranges(gpudevice, CLK_TYPE_GFX,
|
||||
status = smi_amdgpu_get_ranges(gpudevice, AMDSMI_CLK_TYPE_GFX,
|
||||
NULL, NULL, &dpm, NULL);
|
||||
if ((status == AMDSMI_STATUS_SUCCESS) && !set_ret_success)
|
||||
set_ret_success = true;
|
||||
@@ -1349,10 +1349,10 @@ amdsmi_status_t amdsmi_get_clk_freq(amdsmi_processor_handle processor_handle,
|
||||
// nullptr api supported
|
||||
|
||||
// Get from gpu_metrics
|
||||
if (clk_type == CLK_TYPE_VCLK0 ||
|
||||
clk_type == CLK_TYPE_VCLK1 ||
|
||||
clk_type == CLK_TYPE_DCLK0 ||
|
||||
clk_type == CLK_TYPE_DCLK1 ) {
|
||||
if (clk_type == AMDSMI_CLK_TYPE_VCLK0 ||
|
||||
clk_type == AMDSMI_CLK_TYPE_VCLK1 ||
|
||||
clk_type == AMDSMI_CLK_TYPE_DCLK0 ||
|
||||
clk_type == AMDSMI_CLK_TYPE_DCLK1 ) {
|
||||
|
||||
// when f == nullptr -> check if metrics are supported
|
||||
amdsmi_gpu_metrics_t metric_info;
|
||||
@@ -1369,19 +1369,19 @@ amdsmi_status_t amdsmi_get_clk_freq(amdsmi_processor_handle processor_handle,
|
||||
return r_status;
|
||||
|
||||
f->num_supported = 1;
|
||||
if (clk_type == CLK_TYPE_VCLK0) {
|
||||
if (clk_type == AMDSMI_CLK_TYPE_VCLK0) {
|
||||
f->current = metric_info_p->current_vclk0;
|
||||
f->frequency[0] = metric_info_p->average_vclk0_frequency;
|
||||
}
|
||||
if (clk_type == CLK_TYPE_VCLK1) {
|
||||
if (clk_type == AMDSMI_CLK_TYPE_VCLK1) {
|
||||
f->current = metric_info_p->current_vclk1;
|
||||
f->frequency[0] = metric_info_p->average_vclk1_frequency;
|
||||
}
|
||||
if (clk_type == CLK_TYPE_DCLK0) {
|
||||
if (clk_type == AMDSMI_CLK_TYPE_DCLK0) {
|
||||
f->current = metric_info_p->current_dclk0;
|
||||
f->frequency[0] = metric_info_p->average_dclk0_frequency;
|
||||
}
|
||||
if (clk_type == CLK_TYPE_DCLK1) {
|
||||
if (clk_type == AMDSMI_CLK_TYPE_DCLK1) {
|
||||
f->current = metric_info_p->current_dclk1;
|
||||
f->frequency[0] = metric_info_p->average_dclk1_frequency;
|
||||
}
|
||||
@@ -1399,10 +1399,10 @@ amdsmi_status_t amdsmi_set_clk_freq(amdsmi_processor_handle processor_handle,
|
||||
AMDSMI_CHECK_INIT();
|
||||
|
||||
// Not support the clock type write into gpu_metrics
|
||||
if (clk_type == CLK_TYPE_VCLK0 ||
|
||||
clk_type == CLK_TYPE_VCLK1 ||
|
||||
clk_type == CLK_TYPE_DCLK0 ||
|
||||
clk_type == CLK_TYPE_DCLK1 ) {
|
||||
if (clk_type == AMDSMI_CLK_TYPE_VCLK0 ||
|
||||
clk_type == AMDSMI_CLK_TYPE_VCLK1 ||
|
||||
clk_type == AMDSMI_CLK_TYPE_DCLK0 ||
|
||||
clk_type == AMDSMI_CLK_TYPE_DCLK1 ) {
|
||||
return AMDSMI_STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
@@ -1692,7 +1692,7 @@ amdsmi_get_clock_info(amdsmi_processor_handle processor_handle, amdsmi_clk_type_
|
||||
return AMDSMI_STATUS_INVAL;
|
||||
}
|
||||
|
||||
if (clk_type > CLK_TYPE__MAX) {
|
||||
if (clk_type > AMDSMI_CLK_TYPE__MAX) {
|
||||
return AMDSMI_STATUS_INVAL;
|
||||
}
|
||||
|
||||
@@ -1717,26 +1717,26 @@ amdsmi_get_clock_info(amdsmi_processor_handle processor_handle, amdsmi_clk_type_
|
||||
}
|
||||
info->max_clk = max_freq;
|
||||
info->min_clk = min_freq;
|
||||
info->sleep_clk = sleep_state_freq;
|
||||
info->clk_deep_sleep = sleep_state_freq;
|
||||
|
||||
switch (clk_type) {
|
||||
case CLK_TYPE_GFX:
|
||||
info->cur_clk = metrics.current_gfxclk;
|
||||
case AMDSMI_CLK_TYPE_GFX:
|
||||
info->clk = metrics.current_gfxclk;
|
||||
break;
|
||||
case CLK_TYPE_MEM:
|
||||
info->cur_clk = metrics.current_uclk;
|
||||
case AMDSMI_CLK_TYPE_MEM:
|
||||
info->clk = metrics.current_uclk;
|
||||
break;
|
||||
case CLK_TYPE_VCLK0:
|
||||
info->cur_clk = metrics.current_vclk0;
|
||||
case AMDSMI_CLK_TYPE_VCLK0:
|
||||
info->clk = metrics.current_vclk0;
|
||||
break;
|
||||
case CLK_TYPE_VCLK1:
|
||||
info->cur_clk = metrics.current_vclk1;
|
||||
case AMDSMI_CLK_TYPE_VCLK1:
|
||||
info->clk = metrics.current_vclk1;
|
||||
break;
|
||||
case CLK_TYPE_DCLK0:
|
||||
info->cur_clk = metrics.current_dclk0;
|
||||
case AMDSMI_CLK_TYPE_DCLK0:
|
||||
info->clk = metrics.current_dclk0;
|
||||
break;
|
||||
case CLK_TYPE_DCLK1:
|
||||
info->cur_clk = metrics.current_dclk1;
|
||||
case AMDSMI_CLK_TYPE_DCLK1:
|
||||
info->clk = metrics.current_dclk1;
|
||||
break;
|
||||
default:
|
||||
return AMDSMI_STATUS_INVAL;
|
||||
@@ -2207,10 +2207,10 @@ amdsmi_status_t amdsmi_get_processor_handle_from_bdf(amdsmi_bdf_t bdf,
|
||||
return status;
|
||||
}
|
||||
amdsmi_bdf_t found_bdf = gpu_device->get_bdf();
|
||||
if ((bdf.fields.bus_number == found_bdf.fields.bus_number) &&
|
||||
(bdf.fields.device_number == found_bdf.fields.device_number) &&
|
||||
(bdf.fields.domain_number == found_bdf.fields.domain_number) &&
|
||||
(bdf.fields.function_number == found_bdf.fields.function_number)) {
|
||||
if ((bdf.bus_number == found_bdf.bus_number) &&
|
||||
(bdf.device_number == found_bdf.device_number) &&
|
||||
(bdf.domain_number == found_bdf.domain_number) &&
|
||||
(bdf.function_number == found_bdf.function_number)) {
|
||||
*processor_handle = devs[idx];
|
||||
return AMDSMI_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -173,10 +173,10 @@ amdsmi_status_t AMDSmiDrm::init() {
|
||||
}
|
||||
|
||||
has_valid_fds = true;
|
||||
bdf.fields.function_number = device->businfo.pci->func;
|
||||
bdf.fields.device_number = device->businfo.pci->dev;
|
||||
bdf.fields.bus_number = device->businfo.pci->bus;
|
||||
bdf.fields.domain_number = device->businfo.pci->domain;
|
||||
bdf.function_number = device->businfo.pci->func;
|
||||
bdf.device_number = device->businfo.pci->dev;
|
||||
bdf.bus_number = device->businfo.pci->bus;
|
||||
bdf.domain_number = device->businfo.pci->domain;
|
||||
|
||||
vendor_id = device->deviceinfo.pci->vendor_id;
|
||||
|
||||
|
||||
@@ -71,13 +71,13 @@ amdsmi_status_t AMDSmiSocket::get_processor_count(uint32_t* processor_count) con
|
||||
amdsmi_status_t AMDSmiSocket::get_processor_count(processor_type_t type, uint32_t* processor_count) const {
|
||||
amdsmi_status_t ret = AMDSMI_STATUS_SUCCESS;
|
||||
switch (type) {
|
||||
case AMD_GPU:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_GPU:
|
||||
*processor_count = static_cast<uint32_t>(processors_.size());
|
||||
break;
|
||||
case AMD_CPU:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_CPU:
|
||||
*processor_count = static_cast<uint32_t>(cpu_processors_.size());
|
||||
break;
|
||||
case AMD_CPU_CORE:
|
||||
case AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE:
|
||||
*processor_count = static_cast<uint32_t>(cpu_core_processors_.size());
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -162,12 +162,12 @@ amdsmi_status_t AMDSmiSystem::populate_amd_cpus() {
|
||||
socket = new AMDSmiSocket(cpu_socket_id);
|
||||
sockets_.push_back(socket);
|
||||
}
|
||||
AMDSmiProcessor* cpusocket = new AMDSmiProcessor(AMD_CPU, i);
|
||||
AMDSmiProcessor* cpusocket = new AMDSmiProcessor(AMDSMI_PROCESSOR_TYPE_AMD_CPU, i);
|
||||
socket->add_processor(cpusocket);
|
||||
processors_.insert(cpusocket);
|
||||
|
||||
for (uint32_t k = 0; k < (cpus/threads)/sockets; k++) {
|
||||
AMDSmiProcessor* core = new AMDSmiProcessor(AMD_CPU_CORE, k);
|
||||
AMDSmiProcessor* core = new AMDSmiProcessor(AMDSMI_PROCESSOR_TYPE_AMD_CPU_CORE, k);
|
||||
socket->add_processor(core);
|
||||
processors_.insert(core);
|
||||
}
|
||||
@@ -322,7 +322,7 @@ amdsmi_status_t AMDSmiSystem::gpu_index_to_handle(uint32_t gpu_index,
|
||||
auto iter = processors_.begin();
|
||||
for (; iter != processors_.end(); iter++) {
|
||||
auto cur_device = (*iter);
|
||||
if (cur_device->get_processor_type() != AMD_GPU)
|
||||
if (cur_device->get_processor_type() != AMDSMI_PROCESSOR_TYPE_AMD_GPU)
|
||||
continue;
|
||||
amd::smi::AMDSmiGPUDevice* gpu_device =
|
||||
static_cast<amd::smi::AMDSmiGPUDevice*>(cur_device);
|
||||
|
||||
@@ -256,22 +256,22 @@ amdsmi_status_t smi_amdgpu_get_ranges(amd::smi::AMDSmiGPUDevice* device, amdsmi_
|
||||
std::string fullpath = "/sys/class/drm/" + device->get_gpu_path() + "/device";
|
||||
|
||||
switch (domain) {
|
||||
case CLK_TYPE_GFX:
|
||||
case AMDSMI_CLK_TYPE_GFX:
|
||||
fullpath += "/pp_dpm_sclk";
|
||||
break;
|
||||
case CLK_TYPE_MEM:
|
||||
case AMDSMI_CLK_TYPE_MEM:
|
||||
fullpath += "/pp_dpm_mclk";
|
||||
break;
|
||||
case CLK_TYPE_VCLK0:
|
||||
case AMDSMI_CLK_TYPE_VCLK0:
|
||||
fullpath += "/pp_dpm_vclk";
|
||||
break;
|
||||
case CLK_TYPE_VCLK1:
|
||||
case AMDSMI_CLK_TYPE_VCLK1:
|
||||
fullpath += "/pp_dpm_vclk1";
|
||||
break;
|
||||
case CLK_TYPE_DCLK0:
|
||||
case AMDSMI_CLK_TYPE_DCLK0:
|
||||
fullpath += "/pp_dpm_dclk";
|
||||
break;
|
||||
case CLK_TYPE_DCLK1:
|
||||
case AMDSMI_CLK_TYPE_DCLK1:
|
||||
fullpath += "/pp_dpm_dclk1";
|
||||
break;
|
||||
default:
|
||||
|
||||
+10
-10
@@ -34,8 +34,8 @@
|
||||
extern "C" {
|
||||
|
||||
static const char *container_type_name[AMDSMI_MAX_CONTAINER_TYPE] = {
|
||||
[CONTAINER_LXC] = "lxc",
|
||||
[CONTAINER_DOCKER] = "docker",
|
||||
[AMDSMI_CONTAINER_LXC] = "lxc",
|
||||
[AMDSMI_CONTAINER_DOCKER] = "docker",
|
||||
};
|
||||
|
||||
amdsmi_status_t gpuvsmi_pid_is_gpu(const std::string &path, const char *bdf)
|
||||
@@ -74,10 +74,10 @@ amdsmi_status_t gpuvsmi_get_pids(const amdsmi_bdf_t &bdf, std::vector<long int>
|
||||
|
||||
/* 0000:00:00.0 */
|
||||
snprintf(bdf_str, 13, "%04x:%02x:%02x.%d",
|
||||
bdf.fields.domain_number & 0xffff,
|
||||
bdf.fields.bus_number & 0xff,
|
||||
bdf.fields.device_number & 0x1f,
|
||||
bdf.fields.function_number & 0x7);
|
||||
bdf.domain_number & 0xffff,
|
||||
bdf.bus_number & 0xff,
|
||||
bdf.device_number & 0x1f,
|
||||
bdf.function_number & 0x7);
|
||||
|
||||
d = opendir("/proc");
|
||||
if (!d)
|
||||
@@ -123,10 +123,10 @@ amdsmi_status_t gpuvsmi_get_pid_info(const amdsmi_bdf_t &bdf, long int pid,
|
||||
|
||||
/* 0000:00:00.0 */
|
||||
snprintf(bdf_str, 13, "%04x:%02x:%02x.%d",
|
||||
bdf.fields.domain_number & 0xffff,
|
||||
bdf.fields.bus_number & 0xff,
|
||||
bdf.fields.device_number & 0x1f,
|
||||
bdf.fields.function_number & 0x7);
|
||||
bdf.domain_number & 0xffff,
|
||||
bdf.bus_number & 0xff,
|
||||
bdf.device_number & 0x1f,
|
||||
bdf.function_number & 0x7);
|
||||
|
||||
|
||||
std::string path = "/proc/" + std::to_string(pid) + "/fdinfo/";
|
||||
|
||||
@@ -158,11 +158,11 @@ void TestFrequenciesRead::Run(void) {
|
||||
|
||||
PrintDeviceHeader(processor_handles_[i]);
|
||||
|
||||
freq_output(CLK_TYPE_MEM, "Supported GPU Memory");
|
||||
freq_output(CLK_TYPE_SYS, "Supported GPU");
|
||||
freq_output(CLK_TYPE_DF, "Data Fabric Clock");
|
||||
freq_output(CLK_TYPE_DCEF, "Display Controller Engine Clock");
|
||||
freq_output(CLK_TYPE_SOC, "SOC Clock");
|
||||
freq_output(AMDSMI_CLK_TYPE_MEM, "Supported GPU Memory");
|
||||
freq_output(AMDSMI_CLK_TYPE_SYS, "Supported GPU");
|
||||
freq_output(AMDSMI_CLK_TYPE_DF, "Data Fabric Clock");
|
||||
freq_output(AMDSMI_CLK_TYPE_DCEF, "Display Controller Engine Clock");
|
||||
freq_output(AMDSMI_CLK_TYPE_SOC, "SOC Clock");
|
||||
|
||||
err = amdsmi_get_gpu_pci_bandwidth(processor_handles_[i], &b);
|
||||
if (err == AMDSMI_STATUS_NOT_SUPPORTED) {
|
||||
|
||||
@@ -104,13 +104,13 @@ void TestFrequenciesReadWrite::Run(void) {
|
||||
for (uint32_t dv_ind = 0; dv_ind < num_monitor_devs(); ++dv_ind) {
|
||||
PrintDeviceHeader(processor_handles_[dv_ind]);
|
||||
|
||||
for (uint32_t clk = CLK_TYPE_FIRST; clk <= CLK_TYPE__MAX; ++clk) {
|
||||
for (uint32_t clk = AMDSMI_CLK_TYPE_FIRST; clk <= AMDSMI_CLK_TYPE__MAX; ++clk) {
|
||||
amdsmi_clk = (amdsmi_clk_type_t)clk;
|
||||
|
||||
auto freq_read = [&]() -> bool {
|
||||
// Skip CLK_TYPE_PCIE, which does not supported in rocm-smi.
|
||||
// Skip AMDSMI_CLK_TYPE_PCIE, which does not supported in rocm-smi.
|
||||
std::cout << amdsmi_clk << std::endl;
|
||||
if (amdsmi_clk == CLK_TYPE_PCIE)
|
||||
if (amdsmi_clk == AMDSMI_CLK_TYPE_PCIE)
|
||||
return false;
|
||||
ret = amdsmi_get_clk_freq(processor_handles_[dv_ind], amdsmi_clk, &f);
|
||||
std::cout << ret << std::endl;
|
||||
@@ -139,8 +139,8 @@ void TestFrequenciesReadWrite::Run(void) {
|
||||
auto freq_write = [&]() {
|
||||
// Set clocks to something other than the usual default of the lowest
|
||||
// frequency.
|
||||
// Skip CLK_TYPE_PCIE, which does not supported in rocm-smi.
|
||||
if (amdsmi_clk == CLK_TYPE_PCIE)
|
||||
// Skip AMDSMI_CLK_TYPE_PCIE, which does not supported in rocm-smi.
|
||||
if (amdsmi_clk == AMDSMI_CLK_TYPE_PCIE)
|
||||
return;
|
||||
|
||||
freq_bitmask = 0b01100; // Try the 3rd and 4th clocks
|
||||
|
||||
@@ -155,7 +155,7 @@ void TestIdInfoRead::Run(void) {
|
||||
std::cout << "\t**Device Vram vendor id: "
|
||||
<< vram_info.vram_vendor << std::endl;
|
||||
std::cout << "\t**Device Vram size: "
|
||||
<< vram_info.vram_size_mb << std::endl;
|
||||
<< vram_info.vram_size << std::endl;
|
||||
}
|
||||
|
||||
err = amdsmi_get_gpu_vendor_name(processor_handles_[i], buffer, kBufferLen);
|
||||
|
||||
@@ -229,7 +229,7 @@ void TestMutualExclusion::Run(void) {
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_get_gpu_fan_speed_max(processor_handles_[0], 0, &dmy_ui64);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_get_temp_metric(processor_handles_[0], TEMPERATURE_TYPE_EDGE, AMDSMI_TEMP_CURRENT, &dmy_i64);
|
||||
ret = amdsmi_get_temp_metric(processor_handles_[0], AMDSMI_TEMPERATURE_TYPE_EDGE, AMDSMI_TEMP_CURRENT, &dmy_i64);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_reset_gpu_fan(processor_handles_[0], 0);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
@@ -239,13 +239,13 @@ void TestMutualExclusion::Run(void) {
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_get_gpu_overdrive_level(processor_handles_[0], &dmy_ui32);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_get_clk_freq(processor_handles_[0], CLK_TYPE_SYS, &dmy_freqs);
|
||||
ret = amdsmi_get_clk_freq(processor_handles_[0], AMDSMI_CLK_TYPE_SYS, &dmy_freqs);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_get_gpu_od_volt_info(processor_handles_[0], &dmy_od_volt);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_get_gpu_od_volt_curve_regions(processor_handles_[0], &dmy_ui32, &dmy_vlt_reg);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_set_clk_freq(processor_handles_[0], CLK_TYPE_SYS, 0);
|
||||
ret = amdsmi_set_clk_freq(processor_handles_[0], AMDSMI_CLK_TYPE_SYS, 0);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
ret = amdsmi_get_gpu_ecc_count(processor_handles_[0], AMDSMI_GPU_BLOCK_UMC, &dmy_err_cnt);
|
||||
CHECK_RET(ret, AMDSMI_STATUS_BUSY);
|
||||
|
||||
@@ -57,15 +57,15 @@
|
||||
|
||||
|
||||
static const std::map<uint32_t, std::string> kTempSensorNameMap = {
|
||||
{TEMPERATURE_TYPE_VRAM, "Memory"},
|
||||
{TEMPERATURE_TYPE_HOTSPOT, "Hotspot"},
|
||||
{TEMPERATURE_TYPE_JUNCTION, "Junction"},
|
||||
{TEMPERATURE_TYPE_EDGE, "Edge"},
|
||||
{TEMPERATURE_TYPE_HBM_0, "HBM_0"},
|
||||
{TEMPERATURE_TYPE_HBM_1, "HBM_1"},
|
||||
{TEMPERATURE_TYPE_HBM_2, "HBM_2"},
|
||||
{TEMPERATURE_TYPE_HBM_3, "HBM_3"},
|
||||
{TEMPERATURE_TYPE_PLX, "PLX"}
|
||||
{AMDSMI_TEMPERATURE_TYPE_VRAM, "Memory"},
|
||||
{AMDSMI_TEMPERATURE_TYPE_HOTSPOT, "Hotspot"},
|
||||
{AMDSMI_TEMPERATURE_TYPE_JUNCTION, "Junction"},
|
||||
{AMDSMI_TEMPERATURE_TYPE_EDGE, "Edge"},
|
||||
{AMDSMI_TEMPERATURE_TYPE_HBM_0, "HBM_0"},
|
||||
{AMDSMI_TEMPERATURE_TYPE_HBM_1, "HBM_1"},
|
||||
{AMDSMI_TEMPERATURE_TYPE_HBM_2, "HBM_2"},
|
||||
{AMDSMI_TEMPERATURE_TYPE_HBM_3, "HBM_3"},
|
||||
{AMDSMI_TEMPERATURE_TYPE_PLX, "PLX"}
|
||||
};
|
||||
TestTempRead::TestTempRead() : TestBase() {
|
||||
set_title("AMDSMI Temp Read Test");
|
||||
@@ -141,7 +141,7 @@ void TestTempRead::Run(void) {
|
||||
"C" << std::endl;
|
||||
}
|
||||
};
|
||||
for (type = TEMPERATURE_TYPE_FIRST; type <= TEMPERATURE_TYPE__MAX; ++type) {
|
||||
for (type = AMDSMI_TEMPERATURE_TYPE_FIRST; type <= AMDSMI_TEMPERATURE_TYPE__MAX; ++type) {
|
||||
IF_VERB(STANDARD) {
|
||||
std::cout << "\t** **********" << kTempSensorNameMap.at(type) <<
|
||||
" Temperatures **********" << std::endl;
|
||||
|
||||
@@ -220,19 +220,19 @@ const std::string GetVoltSensorNameStr(amdsmi_voltage_type_t st) {
|
||||
return kVoltSensorNameMap.at(st);
|
||||
}
|
||||
const char *FreqEnumToStr(amdsmi_clk_type_t amdsmi_clk) {
|
||||
static_assert(CLK_TYPE__MAX == CLK_TYPE_DCLK1,
|
||||
static_assert(AMDSMI_CLK_TYPE__MAX == AMDSMI_CLK_TYPE_DCLK1,
|
||||
"FreqEnumToStr() needs to be updated");
|
||||
switch (amdsmi_clk) {
|
||||
case CLK_TYPE_SYS: return "System clock";
|
||||
case CLK_TYPE_DF: return "Data Fabric clock";
|
||||
case CLK_TYPE_DCEF: return "Display Controller Engine clock";
|
||||
case CLK_TYPE_SOC: return "SOC clock";
|
||||
case CLK_TYPE_MEM: return "Memory clock";
|
||||
case CLK_TYPE_PCIE: return "PCIE clock";
|
||||
case CLK_TYPE_VCLK0: return "VCLK0 clock";
|
||||
case CLK_TYPE_VCLK1: return "VCLK1 clock";
|
||||
case CLK_TYPE_DCLK0: return "DCLK0 clock";
|
||||
case CLK_TYPE_DCLK1: return "DCLK1 clock";
|
||||
case AMDSMI_CLK_TYPE_SYS: return "System clock";
|
||||
case AMDSMI_CLK_TYPE_DF: return "Data Fabric clock";
|
||||
case AMDSMI_CLK_TYPE_DCEF: return "Display Controller Engine clock";
|
||||
case AMDSMI_CLK_TYPE_SOC: return "SOC clock";
|
||||
case AMDSMI_CLK_TYPE_MEM: return "Memory clock";
|
||||
case AMDSMI_CLK_TYPE_PCIE: return "PCIE clock";
|
||||
case AMDSMI_CLK_TYPE_VCLK0: return "VCLK0 clock";
|
||||
case AMDSMI_CLK_TYPE_VCLK1: return "VCLK1 clock";
|
||||
case AMDSMI_CLK_TYPE_DCLK0: return "DCLK0 clock";
|
||||
case AMDSMI_CLK_TYPE_DCLK1: return "DCLK1 clock";
|
||||
default: return "Invalid Clock ID";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,28 +49,28 @@
|
||||
#include "test_utils.h"
|
||||
|
||||
static const std::map<amdsmi_fw_block_t, const char *> kDevFWNameMap = {
|
||||
{FW_ID_ASD, "asd"},
|
||||
{FW_ID_CP_CE, "ce"},
|
||||
{FW_ID_DMCU_ERAM, "dmcu"}, // TODO(bliu): double check
|
||||
{FW_ID_MC, "mc"},
|
||||
{FW_ID_CP_ME, "me"},
|
||||
{FW_ID_CP_MEC1, "mec1"},
|
||||
{FW_ID_CP_MEC2, "mec2"},
|
||||
{FW_ID_CP_MES, "mes"},
|
||||
{FW_ID_MES_KIQ, "mes_kiq"}, // TODO: double check
|
||||
{FW_ID_CP_PFP, "pfp"},
|
||||
{FW_ID_RLC, "rlc"},
|
||||
{FW_ID_RLC_SRLG, "rlc_srlg"},
|
||||
{FW_ID_RLC_SRLS, "rlc_srls"},
|
||||
{FW_ID_SDMA1, "sdma1"},
|
||||
{FW_ID_SDMA2, "sdma2"},
|
||||
{FW_ID_PM, "pm"},
|
||||
{FW_ID_PSP_SOSDRV, "sos"},
|
||||
{FW_ID_TA_RAS, "ta_ras"},
|
||||
{FW_ID_TA_XGMI, "ta_xgmi"},
|
||||
{FW_ID_UVD, "uvd"},
|
||||
{FW_ID_VCE, "vce"},
|
||||
{FW_ID_VCN, "vcn"},
|
||||
{AMDSMI_FW_ID_ASD, "asd"},
|
||||
{AMDSMI_FW_ID_CP_CE, "ce"},
|
||||
{AMDSMI_FW_ID_DMCU_ERAM, "dmcu"}, // TODO(bliu): double check
|
||||
{AMDSMI_FW_ID_MC, "mc"},
|
||||
{AMDSMI_FW_ID_CP_ME, "me"},
|
||||
{AMDSMI_FW_ID_CP_MEC1, "mec1"},
|
||||
{AMDSMI_FW_ID_CP_MEC2, "mec2"},
|
||||
{AMDSMI_FW_ID_CP_MES, "mes"},
|
||||
{AMDSMI_FW_ID_MES_KIQ, "mes_kiq"}, // TODO: double check
|
||||
{AMDSMI_FW_ID_CP_PFP, "pfp"},
|
||||
{AMDSMI_FW_ID_RLC, "rlc"},
|
||||
{AMDSMI_FW_ID_RLC_SRLG, "rlc_srlg"},
|
||||
{AMDSMI_FW_ID_RLC_SRLS, "rlc_srls"},
|
||||
{AMDSMI_FW_ID_SDMA1, "sdma1"},
|
||||
{AMDSMI_FW_ID_SDMA2, "sdma2"},
|
||||
{AMDSMI_FW_ID_PM, "pm"},
|
||||
{AMDSMI_FW_ID_PSP_SOSDRV, "sos"},
|
||||
{AMDSMI_FW_ID_TA_RAS, "ta_ras"},
|
||||
{AMDSMI_FW_ID_TA_XGMI, "ta_xgmi"},
|
||||
{AMDSMI_FW_ID_UVD, "uvd"},
|
||||
{AMDSMI_FW_ID_VCE, "vce"},
|
||||
{AMDSMI_FW_ID_VCN, "vcn"},
|
||||
};
|
||||
|
||||
const char *
|
||||
|
||||
Reference in New Issue
Block a user