X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrmac%2Fmac_slot_ind.c;h=321e3500ba360e126d1da3581c4d244db448244d;hb=1fc18fe484bf8a324ed3ed1d04d9617869817f22;hp=3a3d008d70cb14df31b40b2b70065a4788c3a119;hpb=f85fe1240cfd15efa41597ba278e2c6bcafb502d;p=o-du%2Fl2.git diff --git a/src/5gnrmac/mac_slot_ind.c b/src/5gnrmac/mac_slot_ind.c index 3a3d008d7..321e3500b 100644 --- a/src/5gnrmac/mac_slot_ind.c +++ b/src/5gnrmac/mac_slot_ind.c @@ -126,7 +126,53 @@ uint8_t MacProcDlAlloc(Pst *pst, DlSchedInfo *dlSchedInfo) } /** - * @brief Forming anf filling the MUX Pdu + * @brief process DL Paging allocation from scheduler + * + * @details + * + * Function : MacProcDlPageAlloc + * + * This function copied dl Pag info in the mac slot info + * + * @param[in] Pst *pst + * @param[in] DL Paging allocation from scheduler + * @return + * -# ROK + * -# RFAILED + **/ +uint8_t MacProcDlPageAlloc(Pst *pst, DlPageAlloc *dlPageAlloc) +{ + uint16_t cellIdx = 0; + MacDlSlot *currDlSlot = NULLP; + +#ifdef CALL_FLOW_DEBUG_LOG + DU_LOG("\nCall Flow: ENTSCH -> ENTMAC : EVENT_DL_PAGING_ALLOC\n"); +#endif + if(dlPageAlloc != NULLP) + { + GET_CELL_IDX(dlPageAlloc->cellId, cellIdx); + + currDlSlot = &macCb.macCell[cellIdx]->dlSlot[dlPageAlloc->dlPageTime.slot]; + MAC_ALLOC(currDlSlot->pageAllocInfo, sizeof(DlPageAlloc)); + if(currDlSlot->pageAllocInfo == NULLP) + { + DU_LOG("\nERROR --> MAC : MacProcDlPageAlloc : Memory Allocation is failed!"); + return RFAILED; + } + memcpy(currDlSlot->pageAllocInfo, dlPageAlloc, sizeof(DlPageAlloc)); + currDlSlot->pageAllocInfo->pagePdcchCfg.dci.pdschCfg = \ + &currDlSlot->pageAllocInfo->pagePdschCfg; + } + else + { + DU_LOG("\nERROR --> MAC : DL Paging Allocation is failed!"); + return RFAILED; + } + return ROK; +} + +/** + * @brief Forming and filling the MUX Pdu * @details * * Function : fillMsg4Pdu