[Epic-ID: ODUHIGH-462][Task-ID: ODUHIGH-472] Implementation of onduration timer
[o-du/l2.git] / src / 5gnrsch / sch.h
index 11248c1..57a4381 100644 (file)
@@ -99,7 +99,6 @@ typedef enum
    SCH_UE_HANDIN_IN_PROGRESS
 }SchUeState;
 
-
 typedef enum
 {
    SCH_RA_STATE_MSG2_HANDLE,
@@ -216,7 +215,7 @@ typedef struct schUlHqProcCb
    uint8_t           nrOfDmrsSymbols;
    uint8_t           dmrsAddPos;
 #ifdef NR_DRX
-   SchDrxHarqCb      drxHarqCb;
+   SchDrxHarqCb      ulDrxHarqCb;
 #endif
 }SchUlHqProcCb;
 
@@ -232,7 +231,7 @@ struct schDlHqProcCb
    SchLcPrbEstimate  dlLcPrbEst; /*DL PRB Alloc Estimate among different LC*/
    CmLList           dlHqProcLink;
 #ifdef NR_DRX
-   SchDrxHarqCb      drxHarqCb;
+   SchDrxHarqCb      dlDrxHarqCb;
 #endif
 };
 struct schUlHqEnt
@@ -413,21 +412,21 @@ typedef struct schHqUlMap
 #ifdef NR_DRX
 typedef struct  schDrxUeCb
 {
-   bool      drxDlUeActiveStatus;    /* This variable is used to store the status about downlink active status */
-   bool      drxUlUeActiveStatus;    /* This variable is used to store the status about uplink active status */
-   uint32_t  onDurationLen;          /* on duration value recived from ue cfg/recfg */
-   uint32_t  inActvTimerLen;         /* inActvTimer value recived from ue cfg/recfg */
-   uint8_t   harqRttDlTimerLen;      /* harqRttDlTimer value recived from ue cfg/recfg */
-   uint8_t   harqRttUlTimerLen;      /* harqRttUlTimer value recived from ue cfg/recfg */
-   uint32_t  retransDlTimerLen;      /* retransDlTimer value recived from ue cfg/recfg */
-   uint32_t  retransUlTimerLen;      /* retransUlTimer  value recived from ue cfg/recfg */
-   uint32_t  longCycleLen;           /* long Cycle value recived from ue cfg/recfg */
+   uint32_t  drxDlUeActiveStatus;    /* variable is used to store the status about downlink active status */
+   uint32_t  drxUlUeActiveStatus;    /* variable is used to store the status about uplink active status */
+   uint32_t  onDurationLen;          /* length of on duration which is received from ue cfg/recfg in form of ms and subms, informs about after how many slots on duration gets expire */
+   uint32_t  inActvTimerLen;         /* length of inActvTimer value received from ue cfg/recfg in form of ms, informs about after how many slots in active gets expire */
+   uint8_t   harqRttDlTimerLen;      /* length of harqRttDlTimer received from ue cfg/recfg in form of symbols, inform about after how many slots on the harq drx-HARQ-RTT-TimerDL expire */
+   uint8_t   harqRttUlTimerLen;      /* length of harqRttUlTimer received from ue cfg/recfg in form of symbols,informs about after how many slots on harq drx-HARQ-RTT-TimerUL expire*/
+   uint32_t  retransDlTimerLen;      /* length of retransDlTimer received from ue cfg/recfg in form of slot, informs about after how many slots on harq RetransmissionTimer dl timer expire*/
+   uint32_t  retransUlTimerLen;      /* length of retransUlTimer received from ue cfg/recfg in form of slot, informs about after how many slots on harq RetransmissionTimer ul timer expire*/
+   uint32_t  longCycleLen;           /* length of long Cycle value received from ue cfg/recfg in form of ms*/
    bool      longCycleToBeUsed;      /* long cycle should be used once the short cycle gets expires */
-   uint32_t  drxStartOffset;         /* drxStartOffset value recived from ue cfg/recfg */
-   bool      shortCyclePresent;      /* shortCyclePresent value recived from ue cfg/recfg */
-   uint32_t  shortCycleLen;          /* short Cycle value recived from ue cfg/recfg */
-   uint32_t  shortCycleTmrLen;       /* shortCycleTmr value recived from ue cfg/recfg */
-   uint32_t  drxSlotOffset;          /* drxSlotOffset value recived from ue cfg/recfg */
+   uint32_t  drxStartOffset;         /* length of drxStartOffset value received from ue cfg/recfg in form of ms, which helps in getting on duration start point*/
+   bool      shortCyclePresent;      /* set this value if shortCycle is Present */
+   uint32_t  shortCycleLen;          /* length of short Cycle value received from ue cfg/recfg in form of ms*/
+   uint32_t  shortCycleTmrLen;       /* value shortCycleTmr is the multiple of shortCycle which is received from ue cfg/recfg in form of integer*/
+   uint32_t  drxSlotOffset;          /* drxSlotOffset value received from ue cfg/recfg which is used to delay before starting the drx-onDuration*/
    uint32_t  onDurationStartIndex;   /* Index at which UE is stored in onDuration starts list */
    uint32_t  onDurationExpiryIndex;  /* Index at which UE is stored in onDuration expires in the list */ 
    uint32_t  inActvExpiryIndex;      /* Index at which UE is stored in inActvTimer expires in the list */
@@ -436,10 +435,10 @@ typedef struct  schDrxUeCb
    int32_t   onDurationStartDistance;/* Distance after how many slot on Duration Start tmr gets expire */
    int32_t   onDurationExpiryDistance;/* Distance after how many slot on Duration tmr gets expire */
    int32_t   inActiveTmrExpiryDistance;/* Distance after how many slot inActive tmr gets expire */
-   CmLList   *onDurationStartNodeInfo;
-   CmLList   *onDurationExpiryNodeInfo;
-   CmLList   *inActvTimerExpiryNodeInfo;
-   CmLList   *shortCycleTmrExpiryNodeInfo;
+   CmLList   *onDurationStartNodeInfo; /* Node present in on duration start list*/
+   CmLList   *onDurationExpiryNodeInfo;/* Node present in on duration exp list*/
+   CmLList   *inActvTimerExpiryNodeInfo; /* Node present in in active exp list*/
+   CmLList   *shortCycleTmrExpiryNodeInfo; /* Node present in short cycle exp list*/
 }SchDrxUeCb;
 #endif
 /**
@@ -534,7 +533,7 @@ typedef struct schCellCb
    uint16_t      cellId;                            /*!< Cell ID */
    Inst          instIdx;                           /*!< Index of the scheduler instance */
    Inst          macInst;                           /*!< Index of the MAC instance */
-   uint8_t       numSlots;                          /*!< Number of slots in current frame */
+   uint16_t       numSlots;                          /*!< Number of slots in current frame */
    SlotTimingInfo   slotInfo;                          /*!< SFN, Slot info being processed*/
    SchDlSlotInfo **schDlSlotInfo;                   /*!< SCH resource allocations in DL */
    SchUlSlotInfo **schUlSlotInfo;                   /*!< SCH resource allocations in UL */