diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_device.h b/projects/amdsmi/include/rocm_smi/rocm_smi_device.h index ad837bec8e..a21a64a9ce 100755 --- a/projects/amdsmi/include/rocm_smi/rocm_smi_device.h +++ b/projects/amdsmi/include/rocm_smi/rocm_smi_device.h @@ -118,6 +118,10 @@ enum DevInfoTypes { kDevErrCntSDMA, kDevErrCntUMC, kDevErrCntGFX, + kDevErrCntMMHUB, + kDevErrCntPCIEBIF, + kDevErrCntHDP, + kDevErrCntXGMIWAFL, kDevErrCntFeatures, kDevMemTotGTT, kDevMemTotVisVRAM, diff --git a/projects/amdsmi/oam/src/amd_oam.cc b/projects/amdsmi/oam/src/amd_oam.cc index 23023eebc8..1262fcc9e8 100755 --- a/projects/amdsmi/oam/src/amd_oam.cc +++ b/projects/amdsmi/oam/src/amd_oam.cc @@ -341,6 +341,22 @@ get_device_error_count(oam_dev_handle_t *handle, type = amd::smi::kDevErrCntGFX; break; + case RSMI_GPU_BLOCK_MMHUB: + type = amd::smi::kDevErrCntMMHUB; + break; + + case RSMI_GPU_BLOCK_PCIE_BIF: + type = amd::smi::kDevErrCntPCIEBIF; + break; + + case RSMI_GPU_BLOCK_HDP: + type = amd::smi::kDevErrCntHDP; + break; + + case RSMI_GPU_BLOCK_XGMI_WAFL: + type = amd::smi::kDevErrCntXGMIWAFL; + break; + default: return RSMI_STATUS_NOT_SUPPORTED; } diff --git a/projects/amdsmi/src/rocm_smi.cc b/projects/amdsmi/src/rocm_smi.cc index 4a8f550aa6..c8e521aac0 100755 --- a/projects/amdsmi/src/rocm_smi.cc +++ b/projects/amdsmi/src/rocm_smi.cc @@ -604,6 +604,22 @@ rsmi_dev_ecc_count_get(uint32_t dv_ind, rsmi_gpu_block_t block, type = amd::smi::kDevErrCntGFX; break; + case RSMI_GPU_BLOCK_MMHUB: + type = amd::smi::kDevErrCntMMHUB; + break; + + case RSMI_GPU_BLOCK_PCIE_BIF: + type = amd::smi::kDevErrCntPCIEBIF; + break; + + case RSMI_GPU_BLOCK_HDP: + type = amd::smi::kDevErrCntHDP; + break; + + case RSMI_GPU_BLOCK_XGMI_WAFL: + type = amd::smi::kDevErrCntXGMIWAFL; + break; + default: return RSMI_STATUS_NOT_SUPPORTED; } diff --git a/projects/amdsmi/src/rocm_smi_device.cc b/projects/amdsmi/src/rocm_smi_device.cc index 69dff42111..dc65816513 100755 --- a/projects/amdsmi/src/rocm_smi_device.cc +++ b/projects/amdsmi/src/rocm_smi_device.cc @@ -99,6 +99,10 @@ static const char *kDevPCIEThruPutFName = "pcie_bw"; static const char *kDevErrCntSDMAFName = "ras/sdma_err_count"; static const char *kDevErrCntUMCFName = "ras/umc_err_count"; static const char *kDevErrCntGFXFName = "ras/gfx_err_count"; +static const char *kDevErrCntMMHUBFName = "ras/mmhub_err_count"; +static const char *kDevErrCntPCIEBIFFName = "ras/pcie_bif_err_count"; +static const char *kDevErrCntHDPFName = "ras/hdp_err_count"; +static const char *kDevErrCntXGMIWAFLFName = "ras/xgmi_wafl_err_count"; static const char *kDevErrCntFeaturesFName = "ras/features"; static const char *kDevMemPageBadFName = "ras/gpu_vram_bad_pages"; static const char *kDevMemTotGTTFName = "mem_info_gtt_total"; @@ -241,6 +245,10 @@ static const std::map kDevAttribNameMap = { {kDevErrCntSDMA, kDevErrCntSDMAFName}, {kDevErrCntUMC, kDevErrCntUMCFName}, {kDevErrCntGFX, kDevErrCntGFXFName}, + {kDevErrCntMMHUB, kDevErrCntMMHUBFName}, + {kDevErrCntPCIEBIF, kDevErrCntPCIEBIFFName}, + {kDevErrCntHDP, kDevErrCntHDPFName}, + {kDevErrCntXGMIWAFL, kDevErrCntXGMIWAFLFName}, {kDevErrCntFeatures, kDevErrCntFeaturesFName}, {kDevMemTotGTT, kDevMemTotGTTFName}, {kDevMemTotVisVRAM, kDevMemTotVisVRAMFName}, @@ -339,6 +347,10 @@ static std::map kDevInfoVarTypeToRSMIVariant = { {kDevErrCntUMC, RSMI_GPU_BLOCK_UMC}, {kDevErrCntSDMA, RSMI_GPU_BLOCK_SDMA}, {kDevErrCntGFX, RSMI_GPU_BLOCK_GFX}, + {kDevErrCntMMHUB, RSMI_GPU_BLOCK_MMHUB}, + {kDevErrCntPCIEBIF, RSMI_GPU_BLOCK_PCIE_BIF}, + {kDevErrCntHDP, RSMI_GPU_BLOCK_HDP}, + {kDevErrCntXGMIWAFL, RSMI_GPU_BLOCK_XGMI_WAFL}, // rsmi_event_group_t {kDevDFCountersAvailable, RSMI_EVNT_GRP_XGMI} @@ -467,6 +479,10 @@ static const std::map kDevFuncDependsMap = { kDevErrCntUMC, kDevErrCntSDMA, kDevErrCntGFX, + kDevErrCntMMHUB, + kDevErrCntPCIEBIF, + kDevErrCntHDP, + kDevErrCntXGMIWAFL, } } }, @@ -852,6 +868,10 @@ int Device::readDevInfo(DevInfoTypes type, std::vector *val) { case kDevErrCntSDMA: case kDevErrCntUMC: case kDevErrCntGFX: + case kDevErrCntMMHUB: + case kDevErrCntPCIEBIF: + case kDevErrCntHDP: + case kDevErrCntXGMIWAFL: case kDevMemPageBad: return readDevInfoMultiLineStr(type, val); break;