[SWDEV-543308] Revert amdsmi_link_metrics structure change

Moved the bit_rate and max_bandwidth back into links in the
amdsmi_link_metrics_t struct as this change was impacting
other teams. Modified the C and python API's, wrapper, and
CLI accordingly.

Signed-off-by: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>


[ROCm/amdsmi commit: 645c313f00]
このコミットが含まれているのは:
Bindhiya Kanangot Balakrishnan authored and Arif, Maisam committed 2025-07-14 13:56:26 -05:00
1 親 45d8f954c8
コミット c2bc3ca72e
5ファイル変更
+15 -14

検索条件に一致するファイルはありません

+7 -6
ファイルの表示
@@ -2132,7 +2132,9 @@ amdsmi_status_t amdsmi_get_link_metrics(amdsmi_processor_handle processor_handle
if (link_metrics == nullptr) return AMDSMI_STATUS_INVAL;
amdsmi_gpu_metrics_t metric_info = {};
link_metrics->max_bandwidth = std::numeric_limits<uint32_t>::max();
for (unsigned int i = 0; i < AMDSMI_MAX_NUM_XGMI_LINKS; ++i) {
link_metrics->links[i].max_bandwidth = std::numeric_limits<uint32_t>::max();
}
amdsmi_status_t status = amdsmi_get_gpu_metrics_info(
processor_handle, &metric_info);
@@ -2140,11 +2142,6 @@ amdsmi_status_t amdsmi_get_link_metrics(amdsmi_processor_handle processor_handle
return status;
link_metrics->num_links = AMDSMI_MAX_NUM_XGMI_LINKS;
link_metrics->bit_rate = metric_info.xgmi_link_speed;
if ((metric_info.xgmi_link_speed != std::numeric_limits<uint16_t>::max()) &&
(metric_info.xgmi_link_width != std::numeric_limits<uint16_t>::max()))
link_metrics->max_bandwidth = metric_info.xgmi_link_speed * metric_info.xgmi_link_width;
uint16_t link_to_dst_node[AMDSMI_MAX_NUM_XGMI_LINKS];
std::fill_n(link_to_dst_node, AMDSMI_MAX_NUM_XGMI_LINKS, std::numeric_limits<uint16_t>::max());
status = rsmi_wrapper(rsmi_dev_xgmi_port_num_get, processor_handle, 0,
@@ -2191,6 +2188,10 @@ amdsmi_status_t amdsmi_get_link_metrics(amdsmi_processor_handle processor_handle
link_metrics->links[i].read = metric_info.xgmi_read_data_acc[i];
link_metrics->links[i].write = metric_info.xgmi_write_data_acc[i];
link_metrics->links[i].link_type = AMDSMI_LINK_TYPE_XGMI;
link_metrics->links[i].bit_rate = metric_info.xgmi_link_speed;
if ((metric_info.xgmi_link_speed != std::numeric_limits<uint16_t>::max()) &&
(metric_info.xgmi_link_width != std::numeric_limits<uint16_t>::max()))
link_metrics->links[i].max_bandwidth = metric_info.xgmi_link_speed * metric_info.xgmi_link_width;
}
return AMDSMI_STATUS_SUCCESS;
}