wrapper API to get first online core on cpu socket

Change-Id: Ia1785f94ff687e53fdb868e56d4a83c2466ba2ed
此提交包含在:
Deepak Mewar
2023-08-09 08:37:16 -04:00
父節點 0baa3f6b6a
當前提交 f1ade88d47
共有 2 個檔案被更改,包括 26 行新增1 行删除
+3 -1
查看文件
@@ -4224,13 +4224,15 @@ amdsmi_status_t amdsmi_get_number_of_cpu_sockets(uint32_t sockets);
/**
* @brief Get first online core on socket.
*
* @param[in] socket_handle Cpu socket which to query
* @param[in] sock_ind - socket index.
*
* @param[in,out] sockets - Input buffer to fill first online core on socket data
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_first_online_core_on_cpu_socket(uint32_t sock_ind, uint32_t *pcore_ind);
amdsmi_status_t amdsmi_first_online_core_on_cpu_socket(amdsmi_cpusocket_handle socket_handle,
uint32_t sock_ind, uint32_t *pcore_ind);
/**
* @brief Get a description of provided AMDSMI error status for esmi errors.
+23
查看文件
@@ -2713,6 +2713,29 @@ amdsmi_status_t amdsmi_get_cpu_model(uint32_t model)
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_first_online_core_on_cpu_socket(amdsmi_cpusocket_handle socket_handle,
uint32_t sock_ind, uint32_t *pcore_ind)
{
amdsmi_status_t status;
uint32_t online_core;
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_first_online_core_on_socket(sock_ind, &online_core));
if (status != AMDSMI_STATUS_SUCCESS)
return status;
*pcore_ind = online_core;
return AMDSMI_STATUS_SUCCESS;
}
const char* amdsmi_get_esmi_err_msg(amdsmi_status_t status, const char **status_string)
{
for (auto& iter : amd::smi::esmi_status_map) {