X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fphy_stub%2Fl1_bdy1.c;h=814bb39393e32aa0801b696cb5a0db7f73ebb8b9;hb=d33a3a253832f19807f2ff6e2de6881ce342f4fd;hp=b5d40a3ac34f71497c8fc539b83d718ad7db748f;hpb=db0a2ee4edd328449d01ab184d253327fca950d6;p=o-du%2Fl2.git diff --git a/src/phy_stub/l1_bdy1.c b/src/phy_stub/l1_bdy1.c index b5d40a3ac..814bb3939 100644 --- a/src/phy_stub/l1_bdy1.c +++ b/src/phy_stub/l1_bdy1.c @@ -532,8 +532,8 @@ PUBLIC S16 l1HdlStartReq(uint32_t msgLen, void *msg) if(clGlobalCp.phyState == PHY_STATE_CONFIGURED) { - duStartSlotIndicaion(); - MAC_FREE(startReq, msgLen); + l1HdlSlotIndicaion(FALSE); + MAC_FREE(startReq, sizeof(fapi_start_req_t)); } else { @@ -685,6 +685,84 @@ PUBLIC S16 l1HdlUlTtiReq(uint16_t msgLen, void *msg) return ROK; } +/******************************************************************* + * + * @brief Builds and Send the stop Indication message to MAC + * + * @details + * + * Function : l1BuildAndSendStopInd + * + * Functionality: + * -Send the Stop indication Message to MAC + * + * + * @return void + * + * ****************************************************************/ +PUBLIC uint16_t l1BuildAndSendStopInd() +{ +#ifdef FAPI + fapi_stop_ind_t *stopIndMsg = NULLP; + uint32_t msgLen = 0; + + MAC_ALLOC(stopIndMsg, sizeof(fapi_stop_ind_t)); + if(!stopIndMsg) + { + DU_LOG("\nPHY_STUB: Memory allocation failed for stop Indication Message"); + return RFAILED; + } + else + { + fillMsgHeader(&stopIndMsg->header, FAPI_STOP_INDICATION, msgLen); + DU_LOG("\n\nPHY_STUB: Processing Stop indication to MAC"); + handlePhyMessages(stopIndMsg->header.message_type_id,\ + sizeof(fapi_stop_ind_t), (void*)stopIndMsg); + MAC_FREE(stopIndMsg, sizeof(fapi_stop_ind_t)); + } +#endif + return ROK; +} + +/******************************************************************* + * + * @brief Handles stop request received from MAC + * + * @details + * + * Function : l1HdlStopReq + * + * Functionality: + * -Handles stop request received from MAC + * + * @params[in] Message length + * stop request message pointer + * + * @return void + * + * ****************************************************************/ + +PUBLIC S16 l1HdlStopReq(uint32_t msgLen, void *msg) +{ +#ifdef FAPI + fapi_stop_req_t *stopReq = (fapi_stop_req_t *)msg; + + if(clGlobalCp.phyState == PHY_STATE_RUNNING) + { + l1HdlSlotIndicaion(TRUE); + DU_LOG("\nPHY_STUB: Slot Indication is stopped successfully"); + l1BuildAndSendStopInd(); + MAC_FREE(stopReq, msgLen); + } + else + { + DU_LOG("\nPHY_STUB: Received Stop Req in PHY State %d", clGlobalCp.phyState); + return RFAILED; + } +#endif + return ROK; +} + /******************************************************************* * * @brief Receives message from MAC @@ -727,6 +805,9 @@ void l1ProcessFapiRequest(uint8_t msgType, uint32_t msgLen, void *msg) case FAPI_UL_TTI_REQUEST: l1HdlUlTtiReq(msgLen, msg); break; + case FAPI_STOP_REQUEST: + l1HdlStopReq(msgLen, msg); + break; default: DU_LOG("\nPHY_STUB: Invalid message type[%x] received at PHY", msgType); break;