Corrected spacing and simplified logic
Change-Id: I51c98339367d1cb9470a00ee05463ac8662d6b01
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
[ROCm/amdsmi commit: 490132748f]
This commit is contained in:
@@ -1545,28 +1545,28 @@ typedef struct {
|
||||
/* PCIE other end recovery counter */
|
||||
uint32_t pcie_lc_perf_other_end_recovery;
|
||||
|
||||
/*
|
||||
* v1.7 additions
|
||||
*/
|
||||
/* VRAM max bandwidth at max memory clock (GB/s) */
|
||||
uint64_t vram_max_bandwidth;
|
||||
/*
|
||||
* v1.7 additions
|
||||
*/
|
||||
/* VRAM max bandwidth at max memory clock (GB/s) */
|
||||
uint64_t vram_max_bandwidth;
|
||||
|
||||
/* XGMI link status(up/down) */
|
||||
uint16_t xgmi_link_status[AMDSMI_MAX_NUM_XGMI_LINKS];
|
||||
/* XGMI link status(up/down) */
|
||||
uint16_t xgmi_link_status[AMDSMI_MAX_NUM_XGMI_LINKS];
|
||||
|
||||
/// \endcond
|
||||
} amdsmi_gpu_metrics_t;
|
||||
|
||||
typedef enum {
|
||||
AMDSMI_XGMI_LINK_DOWN, //!< The XGMI Link is down
|
||||
AMDSMI_XGMI_LINK_UP, //!< The XGMI Link is up
|
||||
AMDSMI_XGMI_LINK_DISABLE, //!< The XGMI Link is disabled
|
||||
AMDSMI_XGMI_LINK_DOWN, //!< The XGMI Link is down
|
||||
AMDSMI_XGMI_LINK_UP, //!< The XGMI Link is up
|
||||
AMDSMI_XGMI_LINK_DISABLE, //!< The XGMI Link is disabled
|
||||
} amdsmi_xgmi_link_status_type_t;
|
||||
|
||||
typedef struct {
|
||||
uint32_t total_links; //!< The total links in the status array
|
||||
amdsmi_xgmi_link_status_type_t status[AMDSMI_MAX_NUM_XGMI_LINKS];
|
||||
uint64_t reserved[7];
|
||||
uint32_t total_links; //!< The total links in the status array
|
||||
amdsmi_xgmi_link_status_type_t status[AMDSMI_MAX_NUM_XGMI_LINKS];
|
||||
uint64_t reserved[7];
|
||||
} amdsmi_xgmi_link_status_t;
|
||||
|
||||
#define MAX_AMDSMI_NAME_LENGTH 64
|
||||
@@ -1636,19 +1636,19 @@ typedef struct {
|
||||
* @brief This structure holds SMU Firmware version information.
|
||||
*/
|
||||
typedef struct {
|
||||
uint8_t debug; //!< SMU fw Debug version number
|
||||
uint8_t minor; //!< SMU fw Minor version number
|
||||
uint8_t major; //!< SMU fw Major version number
|
||||
uint8_t unused; //!< reserved fields
|
||||
uint8_t debug; //!< SMU fw Debug version number
|
||||
uint8_t minor; //!< SMU fw Minor version number
|
||||
uint8_t major; //!< SMU fw Major version number
|
||||
uint8_t unused; //!< reserved fields
|
||||
} amdsmi_smu_fw_version_t;
|
||||
|
||||
/**
|
||||
* @brief DDR bandwidth metrics.
|
||||
*/
|
||||
typedef struct {
|
||||
uint32_t max_bw; //!< DDR Maximum theoritical bandwidth in GB/s
|
||||
uint32_t utilized_bw; //!< DDR bandwidth utilization in GB/s
|
||||
uint32_t utilized_pct; //!< DDR bandwidth utilization in % of theoritical max
|
||||
uint32_t max_bw; //!< DDR Maximum theoritical bandwidth in GB/s
|
||||
uint32_t utilized_bw; //!< DDR bandwidth utilization in GB/s
|
||||
uint32_t utilized_pct; //!< DDR bandwidth utilization in % of theoritical max
|
||||
} amdsmi_ddr_bw_metrics_t;
|
||||
|
||||
/**
|
||||
@@ -1794,14 +1794,14 @@ typedef struct __attribute__((__packed__)) {
|
||||
* @brief hsmp frequency limit source names
|
||||
*/
|
||||
static char* const amdsmi_hsmp_freqlimit_src_names[] = {
|
||||
"cHTC-Active",
|
||||
"PROCHOT",
|
||||
"TDC limit",
|
||||
"PPT Limit",
|
||||
"OPN Max",
|
||||
"Reliability Limit",
|
||||
"APML Agent",
|
||||
"HSMP Agent"
|
||||
"cHTC-Active",
|
||||
"PROCHOT",
|
||||
"TDC limit",
|
||||
"PPT Limit",
|
||||
"OPN Max",
|
||||
"Reliability Limit",
|
||||
"APML Agent",
|
||||
"HSMP Agent"
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -3905,38 +3905,40 @@ def amdsmi_get_gpu_metrics_info(
|
||||
}
|
||||
|
||||
# Create 2d array with each XCD's stats
|
||||
for k,v in gpu_metrics_output.items():
|
||||
if 'xcp_stats' in k:
|
||||
if 'xcp_stats.gfx_busy_inst' in k:
|
||||
for curr_xcp, item in enumerate(v):
|
||||
print_xcp_detail = []
|
||||
for val in item.gfx_busy_inst:
|
||||
print_xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT32_T, isActivity=True))
|
||||
gpu_metrics_output[k][curr_xcp] = print_xcp_detail
|
||||
if 'xcp_stats.jpeg_busy' in k:
|
||||
for curr_xcp, item in enumerate(v):
|
||||
print_xcp_detail = []
|
||||
for val in item.jpeg_busy:
|
||||
print_xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT16_T, isActivity=True))
|
||||
gpu_metrics_output[k][curr_xcp] = print_xcp_detail
|
||||
if 'xcp_stats.vcn_busy' in k:
|
||||
for curr_xcp, item in enumerate(v):
|
||||
print_xcp_detail = []
|
||||
for val in item.vcn_busy:
|
||||
print_xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT16_T, isActivity=True))
|
||||
gpu_metrics_output[k][curr_xcp] = print_xcp_detail
|
||||
if 'xcp_stats.gfx_busy_acc' in k:
|
||||
for curr_xcp, item in enumerate(v):
|
||||
print_xcp_detail = []
|
||||
for val in item.gfx_busy_acc:
|
||||
print_xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT64_T, isActivity=True))
|
||||
gpu_metrics_output[k][curr_xcp] = print_xcp_detail
|
||||
if 'xcp_stats.gfx_below_host_limit_acc' in k:
|
||||
for curr_xcp, item in enumerate(v):
|
||||
print_xcp_detail = []
|
||||
for val in item.gfx_below_host_limit_acc:
|
||||
print_xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT64_T, isActivity=True))
|
||||
gpu_metrics_output[k][curr_xcp] = print_xcp_detail
|
||||
if 'xcp_stats.gfx_busy_inst' in gpu_metrics_output:
|
||||
for xcp_index, xcp_metrics in enumerate(gpu_metrics_output['xcp_stats.gfx_busy_inst']):
|
||||
xcp_detail = []
|
||||
for val in xcp_metrics.gfx_busy_inst:
|
||||
xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT32_T, isActivity=True))
|
||||
gpu_metrics_output['xcp_stats.gfx_busy_inst'][xcp_index] = xcp_detail
|
||||
|
||||
if 'xcp_stats.jpeg_busy' in gpu_metrics_output:
|
||||
for xcp_index, xcp_metrics in enumerate(gpu_metrics_output['xcp_stats.jpeg_busy']):
|
||||
xcp_detail = []
|
||||
for val in xcp_metrics.jpeg_busy:
|
||||
xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT16_T, isActivity=True))
|
||||
gpu_metrics_output['xcp_stats.jpeg_busy'][xcp_index] = xcp_detail
|
||||
|
||||
if 'xcp_stats.vcn_busy' in gpu_metrics_output:
|
||||
for xcp_index, xcp_metrics in enumerate(gpu_metrics_output['xcp_stats.vcn_busy']):
|
||||
xcp_detail = []
|
||||
for val in xcp_metrics.vcn_busy:
|
||||
xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT16_T, isActivity=True))
|
||||
gpu_metrics_output["xcp_stats.vcn_busy"][xcp_index] = xcp_detail
|
||||
|
||||
if 'xcp_stats.gfx_busy_acc' in gpu_metrics_output:
|
||||
for xcp_index, xcp_metrics in enumerate(gpu_metrics_output['xcp_stats.gfx_busy_acc']):
|
||||
xcp_detail = []
|
||||
for val in xcp_metrics.gfx_busy_acc:
|
||||
xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT64_T, isActivity=True))
|
||||
gpu_metrics_output["xcp_stats.gfx_busy_acc"][xcp_index] = xcp_detail
|
||||
|
||||
if 'xcp_stats.gfx_below_host_limit_acc' in gpu_metrics_output:
|
||||
for xcp_index, xcp_metrics in enumerate(gpu_metrics_output['xcp_stats.gfx_below_host_limit_acc']):
|
||||
xcp_detail = []
|
||||
for val in xcp_metrics.gfx_below_host_limit_acc:
|
||||
xcp_detail.append(_validate_if_max_uint(val, MaxUIntegerTypes.UINT64_T, isActivity=True))
|
||||
gpu_metrics_output['xcp_stats.gfx_below_host_limit_acc'][xcp_index] = xcp_detail
|
||||
return gpu_metrics_output
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user