Renamed esmi library APIs and bound the APIs

to cpusocket handle

Change-Id: I6e3d8aa667df475339c28b27294349843f32230c


[ROCm/amdsmi commit: 0baa3f6b6a]
このコミットが含まれているのは:
Deepak Mewar
2023-08-04 11:29:47 -04:00
コミット 89d8f62fc4
3個のファイルの変更46行の追加14行の削除
+2 -2
ファイルの表示
@@ -114,14 +114,14 @@ int main(int argc, char **argv) {
CHK_AMDSMI_RET(ret)
std::cout << "core_count=" << core_count << std::endl;
ret = amdsmi_get_hsmp_proto_ver(&proto_ver);
ret = amdsmi_get_cpu_hsmp_proto_ver(sockets[i], &proto_ver);
CHK_AMDSMI_RET(ret)
cout<<"\n------------------------------------------";
cout<<"\n| HSMP Proto Version | "<< proto_ver <<"\t\t |"<< endl;
cout<<"------------------------------------------\n";
ret = amdsmi_get_smu_fw_version(&smu_fw);
ret = amdsmi_get_cpu_smu_fw_version(sockets[i], &smu_fw);
CHK_AMDSMI_RET(ret)
cout<<"\n------------------------------------------";
+12 -4
ファイルの表示
@@ -3685,20 +3685,24 @@ amdsmi_status_t amdsmi_get_cpu_socket_energy(amdsmi_cpusocket_handle socket_hand
/**
* @brief Get SMU Firmware Version.
*
* @param[in] socket_handle Cpu socket which to query
* @param[in,out] amdsmi_smu_fw - Input buffer to return the firmware version
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_smu_fw_version(amdsmi_smu_fw_version_t *amdsmi_smu_fw);
amdsmi_status_t amdsmi_get_cpu_smu_fw_version(amdsmi_cpusocket_handle socket_handle,
amdsmi_smu_fw_version_t *amdsmi_smu_fw);
/**
* @brief Get HSMP protocol Version.
*
* @param[in] socket_handle Cpu socket which to query
* @param[in,out] proto_ver - Input buffer to return the protocol version
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_hsmp_proto_ver(uint32_t *proto_ver);
amdsmi_status_t amdsmi_get_cpu_hsmp_proto_ver(amdsmi_cpusocket_handle socket_handle,
uint32_t *proto_ver);
/**
* @brief Get normalized status of the processor's PROCHOT status.
@@ -3938,11 +3942,13 @@ amdsmi_status_t amdsmi_set_cpu_socket_boostlimit(amdsmi_cpusocket_handle socket_
/**
* @brief Get the DDR bandwidth data.
*
* @param[in] socket_handle Cpu socket which to query
* @param[in,out] ddr_bw - Input buffer to fill ddr bandwidth data
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_cpu_ddr_bw(amdsmi_ddr_bw_metrics_t *ddr_bw);
amdsmi_status_t amdsmi_get_cpu_ddr_bw(amdsmi_cpusocket_handle socket_handle,
amdsmi_ddr_bw_metrics_t *ddr_bw);
/** @} */
@@ -4154,12 +4160,14 @@ amdsmi_status_t amdsmi_get_cpu_current_io_bandwidth(amdsmi_cpusocket_handle sock
/**
* @brief Get current input output bandwidth.
*
* @param[in] socket_handle Cpu socket which to query
* @param[in] link - link id and bw type to which xgmi bandwidth to be obtained
* @param[in,out] xgmi_bw - Input buffer to fill bandwidth data
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_cpu_current_xgmi_bw(amdsmi_link_id_bw_type_t link, uint32_t *xgmi_bw);
amdsmi_status_t amdsmi_get_cpu_current_xgmi_bw(amdsmi_cpusocket_handle socket_handle,
amdsmi_link_id_bw_type_t link, uint32_t *xgmi_bw);
/** @} */
+32 -8
ファイルの表示
@@ -1861,14 +1861,20 @@ amdsmi_status_t amdsmi_get_processor_handle_from_bdf(amdsmi_bdf_t bdf,
}
#ifdef ENABLE_ESMI_LIB
amdsmi_status_t amdsmi_get_hsmp_proto_ver(uint32_t *proto_ver)
amdsmi_status_t amdsmi_get_cpu_hsmp_proto_ver(amdsmi_cpusocket_handle socket_handle,
uint32_t *proto_ver)
{
amdsmi_status_t status;
uint32_t hsmp_proto_ver;
if (proto_ver == nullptr)
if (socket_handle == nullptr)
return AMDSMI_STATUS_INVAL;
amd::smi::AMDSmiCpuSocket* socket = nullptr;
amdsmi_status_t r = get_cpu_socket_from_handle(socket_handle, &socket);
if (r != AMDSMI_STATUS_SUCCESS)
return r;
status = static_cast<amdsmi_status_t>(esmi_hsmp_proto_ver_get(&hsmp_proto_ver));
*proto_ver = hsmp_proto_ver;
@@ -1878,14 +1884,20 @@ amdsmi_status_t amdsmi_get_hsmp_proto_ver(uint32_t *proto_ver)
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_smu_fw_version(amdsmi_smu_fw_version_t *amdsmi_smu_fw)
amdsmi_status_t amdsmi_get_cpu_smu_fw_version(amdsmi_cpusocket_handle socket_handle,
amdsmi_smu_fw_version_t *amdsmi_smu_fw)
{
amdsmi_status_t status;
struct smu_fw_version smu_fw;
if (amdsmi_smu_fw == nullptr)
if (socket_handle == nullptr)
return AMDSMI_STATUS_INVAL;
amd::smi::AMDSmiCpuSocket* socket = nullptr;
amdsmi_status_t r = get_cpu_socket_from_handle(socket_handle, &socket);
if (r != AMDSMI_STATUS_SUCCESS)
return r;
status = static_cast<amdsmi_status_t>(esmi_smu_fw_version_get(&smu_fw));
amdsmi_smu_fw->major = smu_fw.major;
@@ -2309,14 +2321,20 @@ amdsmi_status_t amdsmi_set_cpu_socket_boostlimit(amdsmi_cpusocket_handle socket_
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_cpu_ddr_bw(amdsmi_ddr_bw_metrics_t *ddr_bw)
amdsmi_status_t amdsmi_get_cpu_ddr_bw(amdsmi_cpusocket_handle socket_handle,
amdsmi_ddr_bw_metrics_t *ddr_bw)
{
amdsmi_status_t status;
struct ddr_bw_metrics ddr;
if (ddr_bw == nullptr)
if (socket_handle == nullptr)
return AMDSMI_STATUS_INVAL;
amd::smi::AMDSmiCpuSocket* socket = nullptr;
amdsmi_status_t r = get_cpu_socket_from_handle(socket_handle, &socket);
if (r != AMDSMI_STATUS_SUCCESS)
return r;
status = static_cast<amdsmi_status_t>(esmi_ddr_bw_get(&ddr));
if (status != AMDSMI_STATUS_SUCCESS)
return status;
@@ -2624,15 +2642,21 @@ amdsmi_status_t amdsmi_get_cpu_current_io_bandwidth(amdsmi_cpusocket_handle sock
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_cpu_current_xgmi_bw(amdsmi_link_id_bw_type_t link, uint32_t *xgmi_bw)
amdsmi_status_t amdsmi_get_cpu_current_xgmi_bw(amdsmi_cpusocket_handle socket_handle,
amdsmi_link_id_bw_type_t link, uint32_t *xgmi_bw)
{
amdsmi_status_t status;
uint32_t bw;
struct link_id_bw_type io_link;
if (xgmi_bw == nullptr)
if (socket_handle == nullptr)
return AMDSMI_STATUS_INVAL;
amd::smi::AMDSmiCpuSocket* socket = nullptr;
amdsmi_status_t r = get_cpu_socket_from_handle(socket_handle, &socket);
if (r != AMDSMI_STATUS_SUCCESS)
return r;
status = static_cast<amdsmi_status_t>(esmi_current_xgmi_bw_get(io_link, &bw));
if (status != AMDSMI_STATUS_SUCCESS)
return status;