X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=inline;f=src%2F5gnrsch%2Fsch.h;h=968bc9f87692afffc411ac4cd59cf2afc56b73a3;hb=87c35884595a3166121854c3ae6e6e856f004ff4;hp=11248c12cc1db6bf2044826708e246e30a8584d3;hpb=0ee9d868ee051d37995fa518c7f7c908d10ebc27;p=o-du%2Fl2.git diff --git a/src/5gnrsch/sch.h b/src/5gnrsch/sch.h index 11248c12c..968bc9f87 100644 --- a/src/5gnrsch/sch.h +++ b/src/5gnrsch/sch.h @@ -99,7 +99,6 @@ typedef enum SCH_UE_HANDIN_IN_PROGRESS }SchUeState; - typedef enum { SCH_RA_STATE_MSG2_HANDLE, @@ -189,11 +188,12 @@ typedef struct schDlHqTbCb #ifdef NR_DRX typedef struct schDrxHarqCb { - uint32_t retxStrtIndex; - uint32_t rttIndex; - uint32_t retxIndex; - int16_t retxExpDistance; - uint8_t retxTmrReduction; + uint32_t rttExpIndex; + CmLList *rttExpNode; + uint32_t retxStrtIndex; + CmLList *retxStrtNode; + uint32_t retxExpIndex; + CmLList *retxExpNode; }SchDrxHarqCb; #endif @@ -215,8 +215,9 @@ typedef struct schUlHqProcCb uint8_t dmrsMappingType; uint8_t nrOfDmrsSymbols; uint8_t dmrsAddPos; + SlotTimingInfo puschTime; #ifdef NR_DRX - SchDrxHarqCb drxHarqCb; + SchDrxHarqCb ulDrxHarqCb; #endif }SchUlHqProcCb; @@ -231,8 +232,9 @@ struct schDlHqProcCb uint8_t k1; SchLcPrbEstimate dlLcPrbEst; /*DL PRB Alloc Estimate among different LC*/ CmLList dlHqProcLink; + SlotTimingInfo pucchTime; #ifdef NR_DRX - SchDrxHarqCb drxHarqCb; + SchDrxHarqCb dlDrxHarqCb; #endif }; struct schUlHqEnt @@ -393,7 +395,7 @@ typedef struct schUeCfgCb bool phyCellGrpCfgPres; SchPhyCellGrpCfg phyCellGrpCfg; bool spCellCfgPres; - SchSpCellCfg spCellCfg; + SchSpCellRecfg spCellCfg; SchAmbrCfg *ambrCfg; SchModulationInfo dlModInfo; SchModulationInfo ulModInfo; @@ -413,21 +415,25 @@ 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 */ + bool drxDlUeActiveStatus; /* Final Dl Ue status which is marked as true if drxDlUeActiveMask or drxDlUeActiveMaskForHarq is present */ + bool drxUlUeActiveStatus; /* Final Ul Ue status which is marked as true if drxUlUeActiveMask or drxUlUeActiveMaskForHarq is present */ + uint32_t drxDlUeActiveMask; /* variable is used to store the status about downlink active status of Ue for On-duration, inactive timer*/ + uint32_t drxUlUeActiveMask; /* variable is used to store the status about uplink active status for on-duration inactive timer*/ + uint32_t drxDlUeActiveMaskForHarq; /* variable is used to store the status about downlink active status for harq*/ + uint32_t drxUlUeActiveMaskForHarq; /* variable is used to store the status about uplink active status for harq */ + 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 +442,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 +540,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 */