Lines Matching refs:tid

14 std::optional<MctpInfo> TerminusManager::toMctpInfo(const pldm_tid_t& tid)  in toMctpInfo()  argument
16 if (tid == PLDM_TID_UNASSIGNED || tid == PLDM_TID_RESERVED) in toMctpInfo()
21 if ((!this->transportLayerTable.contains(tid)) || in toMctpInfo()
22 (this->transportLayerTable[tid] != SupportedTransportLayer::MCTP)) in toMctpInfo()
27 auto mctpInfoIt = mctpInfoTable.find(tid); in toMctpInfo()
56 TerminusManager::storeTerminusInfo(const MctpInfo& mctpInfo, pldm_tid_t tid) in storeTerminusInfo() argument
58 if (tid == PLDM_TID_UNASSIGNED || tid == PLDM_TID_RESERVED) in storeTerminusInfo()
68 if (tidPool[tid]) in storeTerminusInfo()
73 tidPool[tid] = true; in storeTerminusInfo()
74 transportLayerTable[tid] = SupportedTransportLayer::MCTP; in storeTerminusInfo()
75 mctpInfoTable[tid] = mctpInfo; in storeTerminusInfo()
77 return tid; in storeTerminusInfo()
103 pldm_tid_t tid = std::distance(tidPool.begin(), tidPoolIt); in mapTid() local
104 return storeTerminusInfo(mctpInfo, tid); in mapTid()
107 bool TerminusManager::unmapTid(const pldm_tid_t& tid) in unmapTid() argument
109 if (tid == PLDM_TID_UNASSIGNED || tid == PLDM_TID_RESERVED) in unmapTid()
113 tidPool[tid] = false; in unmapTid()
115 if (transportLayerTable.contains(tid)) in unmapTid()
117 transportLayerTable.erase(tid); in unmapTid()
120 if (mctpInfoTable.contains(tid)) in unmapTid()
122 mctpInfoTable.erase(tid); in unmapTid()
210 pldm_tid_t tid = 0; in initMctpTerminus() local
212 auto rc = co_await getTidOverMctp(eid, &tid); in initMctpTerminus()
219 if (tid == PLDM_TID_RESERVED) in initMctpTerminus()
221 lg2::error("Terminus responses the reserved {TID}.", "TID", tid); in initMctpTerminus()
226 if (tid != PLDM_TID_UNASSIGNED) in initMctpTerminus()
229 auto it = termini.find(tid); in initMctpTerminus()
255 auto mappedTid = storeTerminusInfo(mctpInfo, tid); in initMctpTerminus()
259 "TID", tid); in initMctpTerminus()
274 "TID", tid); in initMctpTerminus()
278 tid = mappedTid.value(); in initMctpTerminus()
279 rc = co_await setTidOverMctp(eid, tid); in initMctpTerminus()
284 unmapTid(tid); in initMctpTerminus()
291 tid); in initMctpTerminus()
292 unmapTid(tid); in initMctpTerminus()
296 if (termini.contains(tid)) in initMctpTerminus()
304 rc = co_await getPLDMTypes(tid, supportedTypes); in initMctpTerminus()
308 "TID", tid, "ERROR", rc); in initMctpTerminus()
314 termini[tid] = std::make_shared<Terminus>(tid, supportedTypes); in initMctpTerminus()
319 "TID", tid); in initMctpTerminus()
328 if (!termini[tid]->doesSupportType(type)) in initMctpTerminus()
334 auto rc = co_await getPLDMCommands(tid, type, cmds.data()); in initMctpTerminus()
339 "TID", tid, "ERROR", rc); in initMctpTerminus()
356 termini[tid]->setSupportedCommands(pldmCmds); in initMctpTerminus()
381 exec::task<int> TerminusManager::getTidOverMctp(mctp_eid_t eid, pldm_tid_t* tid) in getTidOverMctp() argument
408 rc = decode_get_tid_resp(responseMsg, responseLen, &completionCode, tid); in getTidOverMctp()
427 exec::task<int> TerminusManager::setTidOverMctp(mctp_eid_t eid, pldm_tid_t tid) in setTidOverMctp() argument
432 auto rc = encode_set_tid_req(instanceId, tid, requestMsg); in setTidOverMctp()
464 exec::task<int> TerminusManager::getPLDMTypes(pldm_tid_t tid, in getPLDMTypes() argument
474 "TID", tid, "RC", rc); in getPLDMTypes()
481 rc = co_await sendRecvPldmMsg(tid, request, &responseMsg, &responseLen); in getPLDMTypes()
485 "TID", tid, "RC", rc); in getPLDMTypes()
497 "TID", tid, "RC", rc); in getPLDMTypes()
505 "TID", tid, "CC", completionCode); in getPLDMTypes()
511 exec::task<int> TerminusManager::getPLDMCommands(pldm_tid_t tid, uint8_t type, in getPLDMCommands() argument
523 "TID", tid, "RC", rc); in getPLDMCommands()
530 rc = co_await sendRecvPldmMsg(tid, request, &responseMsg, &responseLen); in getPLDMCommands()
535 "TID", tid, "RC", rc); in getPLDMCommands()
547 "TID", tid, "RC", rc); in getPLDMCommands()
555 "TID", tid, "CC", completionCode); in getPLDMCommands()
562 exec::task<int> TerminusManager::sendRecvPldmMsg(pldm_tid_t tid, in sendRecvPldmMsg() argument
571 if (!tidPool[tid]) in sendRecvPldmMsg()
576 if (!transportLayerTable.contains(tid)) in sendRecvPldmMsg()
581 if (transportLayerTable[tid] != SupportedTransportLayer::MCTP) in sendRecvPldmMsg()
586 auto mctpInfo = toMctpInfo(tid); in sendRecvPldmMsg()