PHY_DELTA changes
[o-du/l2.git] / src / 5gnrsch / sch.h
index f4b57b2..96f3d22 100644 (file)
 #define SCH_MEM_REGION     4
 #define SCH_POOL           1
 #define SCHED_DELTA 1
-#define SCH_MAX_UE 512
+#define BO_DELTA 1
+#define RAR_DELAY   2
+#define SCH_MAX_UE  1
+#define PUSCH_START_RB 15
 #define SI_RNTI 0xFFFF
-#define P_RNIT  0xFFFE
+#define P_RNTI  0xFFFE
+
+#define CRC_FAILED 0
+#define CRC_PASSED 1
 
 /* allocate and zero out a static buffer */
 #define SCH_ALLOC(_datPtr, _size)                                \
@@ -55,7 +61,6 @@
       SPutSBuf(SCH_MEM_REGION, SCH_POOL,                      \
          (Data *)_datPtr, _size);
 
-
 #define SCH_FILL_RSP_PST(_rspPst, _inst)\
 {                                  \
    _rspPst.srcProcId = SFndProcId(); \
@@ -66,7 +71,7 @@
    _rspPst.dstInst   = 0;\
        _rspPst.selector  = MAC_SELECTOR_TC;\
 }      
-extern int schProcessRachInd(RachIndInfo *rachInd, Inst schInst);
+extern uint8_t schProcessRachInd(RachIndInfo *rachInd, Inst schInst);
 /**
   * @brief
   * Structure holding LTE MAC's General Configuration information.
@@ -87,7 +92,7 @@ typedef struct schGenCb
   * @brief
   * scheduler allocationsfor DL per cell.
   */
-typedef struct schDlAlloc
+typedef struct schDlSlotInfo
 {
        uint16_t    totalPrb;  /*!< Number of RBs in the cell */
        uint16_t    assignedPrb[SCH_SYMBOL_PER_SLOT]; /*!< Num RBs and corresponding symbols allocated */
@@ -95,9 +100,10 @@ typedef struct schDlAlloc
    uint8_t     ssbIdxSupported;  /*!< Max SSB index */
        SsbInfo     ssbInfo[MAX_SSB_IDX]; /*!< SSB info */
        bool        sib1Pres;
-       bool        rarPres;
-       RarInfo     rarInfo;
-}SchDlAlloc;
+       //bool        rarPres;
+       RarInfo     *rarInfo;
+   Msg4Info    *msg4Info;
+}SchDlSlotInfo;
 
 typedef struct schRaCb
 {
@@ -108,12 +114,13 @@ typedef struct schRaCb
   * @brief
   * scheduler allocationsfor UL per cell.
   */
-typedef struct schUlAlloc
+typedef struct schUlSlotInfo
 {
-       uint16_t    totalPrb;  /*!< Number of RBs in the cell */
-       uint16_t    assignedPrb[SCH_SYMBOL_PER_SLOT]; /*!< Num RBs and corresponding symbols allocated */
-       uint8_t     prachStartSymb; /*!< Start symbol for PRACH */
-}SchUlAlloc;
+       uint16_t     totalPrb;  /*!< Number of RBs in the cell */
+       uint16_t     assignedPrb[SCH_SYMBOL_PER_SLOT]; /*!< Num RBs and corresponding symbols allocated */
+       bool         puschPres; /*!< PUSCH presence field */
+       SchPuschInfo *schPuschInfo; /*!< PUSCH info */
+}SchUlSlotInfo;
 
 /**
   * @brief
@@ -126,8 +133,8 @@ typedef struct schCellCb
    Inst          macInst;          /*!< Index of the MAC instance */
        uint8_t       numSlots;         /*!< Number of slots in current frame */
    SlotIndInfo   slotInfo;         /*!< SFN, Slot info being processed*/
-   SchDlAlloc    *dlAlloc[SCH_NUM_SLOTS]; /*!< SCH resource allocations in DL */
-   SchUlAlloc    *ulAlloc[SCH_NUM_SLOTS]; /*!< SCH resource allocations in UL */
+   SchDlSlotInfo *schDlSlotInfo[SCH_NUM_SLOTS]; /*!< SCH resource allocations in DL */
+   SchUlSlotInfo *schUlSlotInfo[SCH_NUM_SLOTS]; /*!< SCH resource allocations in UL */
        SchCellCfg    cellCfg;                /*!< Cell ocnfiguration */
        SchRaCb       raCb[SCH_MAX_UE];
 }SchCellCb;
@@ -150,7 +157,7 @@ SchCb schCb[SCH_MAX_INST];
 uint8_t schBroadcastAlloc(SchCellCb *cell, DlBrdcstAlloc *dlBrdcstAlloc,uint16_t slot);
 uint8_t schProcessSlotInd(SlotIndInfo *slotInd, Inst inst);
 uint8_t schUlResAlloc(SchCellCb *cell, Inst schInst);
-
+uint8_t schDlRsrcAllocMsg4(Msg4Alloc *msg4Alloc, SchCellCb *cell, uint16_t slot);
 
 
 /**********************************************************************