[Epic-ID: ODUHIGH-462][Task-ID: ODUHIGH-472] Handling of drx timer in SCH [storing...
[o-du/l2.git] / src / cm / mac_sch_interface.h
index 0e1c862..ad34d17 100644 (file)
 #define DEFAULT_K2_VALUE_FOR_SCS60  2
 #define DEFAULT_K2_VALUE_FOR_SCS120 3 
 
-#define ADD_DELTA_TO_TIME(crntTime, toFill, incr)          \
+#define ADD_DELTA_TO_TIME(crntTime, toFill, incr, numOfSlot)          \
 {                                                          \
-   if ((crntTime.slot + incr) > (MAX_SLOTS - 1))           \
+   if ((crntTime.slot + incr) > (numOfSlot - 1))           \
    {                                                       \
       toFill.sfn = (crntTime.sfn + 1);                     \
    }                                                       \
    {                                                       \
       toFill.sfn = crntTime.sfn;                           \
    }                                                       \
-   toFill.slot = (crntTime.slot + incr) % MAX_SLOTS;       \
+   toFill.slot = (crntTime.slot + incr) % numOfSlot;       \
    if (toFill.sfn >= MAX_SFN)                              \
    {                                                       \
       toFill.sfn%=MAX_SFN;                                 \
@@ -797,7 +797,7 @@ typedef struct schShortDrx
    uint8_t    drxShortCycleTimer;
 }SchShortDrx;
 
-typedef struct schDrxInfo
+typedef struct schDrxCfg
 {
    SchDrxOnDurationTimer       drxOnDurationTimer;
    uint16_t                    drxInactivityTimer;
@@ -806,9 +806,10 @@ typedef struct schDrxInfo
    uint16_t                    drxRetransmissionTimerDl;
    uint16_t                    drxRetransmissionTimerUl;
    SchDrxLongCycleStartOffset  drxLongCycleStartOffset;
+   bool                        shortDrxPres;
    SchShortDrx                 shortDrx;
-   uint8_t  drxSlotOffset;
-}SchDrxInfo;
+   uint8_t                     drxSlotOffset;
+}SchDrxCfg;
 #endif
 
 typedef struct schCellCfg
@@ -830,9 +831,6 @@ typedef struct schCellCfg
 #ifdef NR_TDD
    TDDCfg         tddCfg;           /* TDD Cfg */ 
 #endif 
-#ifdef NR_DRX
-   SchDrxInfo     drxInfo;          /* Drx configuration */
-#endif
 }SchCellCfg;
 
 typedef struct schCellCfgCfm
@@ -1201,6 +1199,10 @@ typedef struct schMacCellGrpCfg
    SchSchedReqCfg   schedReqCfg;
    SchTagCfg        tagCfg;
    SchPhrCfg        phrCfg;             /* To be used only if phrCfgSetupPres is true */      
+#ifdef NR_DRX
+   bool             drxCfgPresent;
+   SchDrxCfg        drxCfg;          /* Drx configuration */
+#endif
 }SchMacCellGrpCfg;
 
 /* Physical Cell Group Configuration */
@@ -1653,6 +1655,9 @@ typedef struct schUeCfg
    uint8_t            numLcs;
    SchLcCfg           schLcCfg[MAX_NUM_LC];
    SchDataTransmission dataTransmissionInfo;
+#ifdef NR_DRX   
+   bool     drxConfigIndicatorRelease;
+#endif
 }SchUeCfg;
 
 typedef struct schUeCfgRsp