SCH_UE_HANDIN_IN_PROGRESS
}SchUeState;
-
typedef enum
{
SCH_RA_STATE_MSG2_HANDLE,
#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
uint8_t dmrsMappingType;
uint8_t nrOfDmrsSymbols;
uint8_t dmrsAddPos;
+ SlotTimingInfo puschTime;
#ifdef NR_DRX
- SchDrxHarqCb drxHarqCb;
+ SchDrxHarqCb ulDrxHarqCb;
#endif
}SchUlHqProcCb;
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
bool phyCellGrpCfgPres;
SchPhyCellGrpCfg phyCellGrpCfg;
bool spCellCfgPres;
- SchSpCellCfg spCellCfg;
+ SchSpCellRecfg spCellCfg;
SchAmbrCfg *ambrCfg;
SchModulationInfo dlModInfo;
SchModulationInfo ulModInfo;
#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 */
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
/**
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 */