X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrsch%2Fsch_rach.c;h=7694acb7dfb05a8090164d341de69c9d480c0463;hb=fa6899dae4aee415bbcfd00760b6e2b312ddceec;hp=bf4c1164441b381bb477683ac50fae5483b6f368;hpb=c98e69a3cfa10b1b47dafe94062dc68817cae6a1;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch_rach.c b/src/5gnrsch/sch_rach.c index bf4c11644..7694acb7d 100644 --- a/src/5gnrsch/sch_rach.c +++ b/src/5gnrsch/sch_rach.c @@ -42,13 +42,6 @@ #include "sch.h" #include "sch_utils.h" -SchRachRsrcRspFunc SchRachRsrcRspOpts[] = -{ - packSchRachRsrcRsp, /* LC */ - MacProcSchRachRsrcRsp, /* TC */ - packSchRachRsrcRsp /* LWLC */ -}; - /** * @brief Checks if PRACH can be scheduled in current slot * @@ -196,7 +189,7 @@ void schPrachResAlloc(SchCellCb *cell, UlSchedInfo *ulSchedInfo, SlotTimingInfo * * @details * - * Function : MacSchRachRsrcReq + * Function : SchProcRachRsrcReq * * This function processes RACH resorce request * from MAC for CFRA. It assigns a dedicated preamble @@ -208,7 +201,7 @@ void schPrachResAlloc(SchCellCb *cell, UlSchedInfo *ulSchedInfo, SlotTimingInfo * @return ROK * RFAILED **/ -uint8_t MacSchRachRsrcReq(Pst *pst, SchRachRsrcReq *schRachRsrcReq) +uint8_t SchProcRachRsrcReq(Pst *pst, SchRachRsrcReq *schRachRsrcReq) { uint8_t ssbIdx = 0, cfraSsbIdx = 0; uint8_t firstCFPreambleIndex = 0, lastCFPreambleIndex = 0; @@ -335,7 +328,7 @@ uint8_t MacSchRachRsrcReq(Pst *pst, SchRachRsrcReq *schRachRsrcReq) SCH_FREE(schRachRsrcReq, sizeof(SchRachRsrcReq)); /* Send RACH resource response to MAC */ - return (SchRachRsrcRspOpts[rspPst.selector](&rspPst, rachRsrcRsp)); + return(MacMessageRouter(&rspPst, (void *)rachRsrcRsp)); } /** @@ -778,7 +771,7 @@ bool schProcessRaReq(Inst schInst, SchCellCb *cell, SlotTimingInfo currTime, uin * * @details * - * Function : schProcessRachInd + * Function : SchProcRachInd * * This function process rach indication * @@ -786,17 +779,20 @@ bool schProcessRaReq(Inst schInst, SchCellCb *cell, SlotTimingInfo currTime, uin * @param[in] shed instance * @return ROK **/ -uint8_t schProcessRachInd(RachIndInfo *rachInd, Inst schInst) +uint8_t SchProcRachInd(Pst *pst, RachIndInfo *rachInd) { - SchCellCb *cell = schCb[schInst].cells[schInst]; SchRaReq *raReq = NULLP; - float slotDuration; - uint8_t winNumSlots; - uint8_t ueId; + float slotDuration; + uint8_t winNumSlots; + uint8_t ueId; + Inst schInst = pst->dstInst-SCH_INST_START; + SchCellCb *cell = schCb[schInst].cells[schInst]; + + DU_LOG("\nINFO --> SCH : Received Rach indication"); if(cell == NULLP) { - DU_LOG("\nERROR --> SCH: Failed to find cell in schProcessRachInd"); + DU_LOG("\nERROR --> SCH: Failed to find cell in SchProcRachInd"); return RFAILED; } @@ -811,7 +807,7 @@ uint8_t schProcessRachInd(RachIndInfo *rachInd, Inst schInst) SCH_ALLOC(raReq, sizeof(SchRaReq)); if(!raReq) { - DU_LOG("\nERROR --> SCH : Memory allocation failure in schProcessRachInd"); + DU_LOG("\nERROR --> SCH : Memory allocation failure in SchProcRachInd"); SCH_FREE(rachInd, sizeof(RachIndInfo)); return RFAILED; } @@ -838,8 +834,7 @@ uint8_t schProcessRachInd(RachIndInfo *rachInd, Inst schInst) cell->raReq[ueId -1] = raReq; /* Adding UE Id to list of pending UEs to be scheduled */ - addUeToBeScheduled(cell, ueId); - + cell->api->SchRachInd(cell, ueId); return ROK; } @@ -1002,7 +997,7 @@ uint8_t schFillRar(SchCellCb *cell, SlotTimingInfo rarTime, uint16_t ueId, RarAl * * @details * - * Function : MacSchRachRsrcRel + * Function : SchProcRachRsrcRel * * This function processes RACH resorce release * from MAC after CFRA. It releases the dedicated @@ -1013,7 +1008,7 @@ uint8_t schFillRar(SchCellCb *cell, SlotTimingInfo rarTime, uint16_t ueId, RarAl * @return ROK * RFAILED */ -uint8_t MacSchRachRsrcRel(Pst *pst, SchRachRsrcRel *schRachRsrcRel) +uint8_t SchProcRachRsrcRel(Pst *pst, SchRachRsrcRel *schRachRsrcRel) { uint8_t ret = ROK; uint8_t ssbIdx = 0, cfraSsbIdx = 0; @@ -1091,7 +1086,7 @@ void schMsg4Complete(SchUeCb *ueCb) { DU_LOG("\nINFO --> SCH: State change for ueId[%2d] to SCH_RA_STATE_MSG4_DONE\n",ueCb->ueId); ueCb->cellCb->raCb[ueCb->ueId-1].raState = SCH_RA_STATE_MSG4_DONE; - ueCb->msg4Proc = ueCb->retxMsg4HqProc = NULLP; + ueCb->msg4HqProc = ueCb->retxMsg4HqProc = NULLP; } /********************************************************************** End of file