diff --git a/openair2/LAYER2/MAC/mac.h b/openair2/LAYER2/MAC/mac.h index a00e5ec4e6bd231d642daf7db9df8ccf03fd2631..8a956bd7b903d904c26a7a9797261290efd35457 100644 --- a/openair2/LAYER2/MAC/mac.h +++ b/openair2/LAYER2/MAC/mac.h @@ -1003,8 +1003,8 @@ typedef struct { /* HARQ RRT Timers */ /// (UL) HARQ RTT timers, especially used for CDRX operations, one timer per cell per harq process (and per user) uint8_t harq_rtt_timer[NFAPI_CC_MAX][8]; - uint8_t ul_harq_rtt_timer[NFAPI_CC_MAX][8]; // Note: UL HARQ RTT timers are only for asynchronous HARQ processes!! - uint8_t ul_synchronous_harq_timer[NFAPI_CC_MAX][8]; + uint8_t ul_harq_rtt_timer[NFAPI_CC_MAX][8]; // Note: UL HARQ RTT timers are only for asynchronous HARQ processes + uint8_t ul_synchronous_harq_timer[NFAPI_CC_MAX][8]; // These timers are used for UL synchronous HARQ processes /* C-DRX related timers */ /* Note: only valid for FDD when this comment is written (11-01-19)*/ @@ -1012,7 +1012,11 @@ typedef struct { boolean_t cqi_mask_boolean; /// is TRUE if the following drx parameters are configured for UE boolean_t cdrx_configured; - /// if TRUE, the scheduler should bypass in_active_time and consider the UE as active + /* + * if TRUE, the scheduler should bypass in_active_time and consider the UE as active + * This can be needed, especially during the RRC configuration process, when the context is + * configured on the eNB side, but not yet on the UE side... + */ boolean_t bypass_cdrx; /// is TRUE if the UE is in "Active Time", hence listening to PDCCH boolean_t in_active_time; @@ -1026,7 +1030,7 @@ typedef struct { boolean_t in_short_drx_cycle; /// drxShortCycleTimer int (1..16) (number of short DRX cycles duration before long DRX cycles) uint8_t drx_shortCycle_timer_value; - /// shortDRX-Cycle (duration of a short DRX cycle) + /// shortDRX-Cycle (duration of one short DRX cycle) uint16_t short_drx_cycle_duration; /// DRX short cycle timer before switching to long DRX cycle = drx_shortCycle_timer_value * short_drx_cycle_duration uint16_t drx_shortCycle_timer; @@ -1041,6 +1045,8 @@ typedef struct { /// DRX retransmission timer, one per DL HARQ process uint8_t drx_retransmission_timer[8]; uint8_t drx_retransmission_timer_thres[8]; + /// DRX UL retransmission timer, one per UL HARQ process + /* Not implemented yet */ /* End of C-DRX related timers */ } UE_sched_ctrl; diff --git a/openair2/LAYER2/MAC/mac_proto.h b/openair2/LAYER2/MAC/mac_proto.h index 6e2a00fd301b86648b87964bc2d1b6f89978bc05..93b1cd31345fc95bd80a39161066fa66e33a9613 100644 --- a/openair2/LAYER2/MAC/mac_proto.h +++ b/openair2/LAYER2/MAC/mac_proto.h @@ -1275,13 +1275,13 @@ void pre_scd_nb_rbs_required( module_id_t module_idP, uint16_t nb_rbs_required[MAX_NUM_CCs][NUMBER_OF_UE_MAX]); #endif -/*Slice related functions */ +/* Slice related functions */ uint16_t nb_rbs_allowed_slice(float rb_percentage, int total_rbs); int ue_dl_slice_membership(module_id_t mod_id, int UE_id, int slice_idx); int ue_ul_slice_membership(module_id_t mod_id, int UE_id, int slice_idx); /* DRX Configuration */ -/* Configure local DRX timers and thresh following the drx_configuration input */ +/* Configure local DRX timers and thresholds in UE context, following the drx_configuration input */ void eNB_Config_Local_DRX(module_id_t Mod_id, rnti_t rnti, LTE_DRX_Config_t *drx_Configuration); /* from here: prototypes to get rid of compilation warnings: doc to be written by function author */