[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-447] PCCH Scheduling at SCH
[o-du/l2.git] / src / 5gnrmac / mac_slot_ind.c
index 3a3d008..321e350 100644 (file)
@@ -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