Use function pointer to call UL pre-processor
This commit is contained in:
@@ -550,7 +550,7 @@ void nr_schedule_ulsch(module_id_t module_id,
|
|||||||
int num_slots_per_tdd,
|
int num_slots_per_tdd,
|
||||||
int ul_slots,
|
int ul_slots,
|
||||||
uint64_t ulsch_in_slot_bitmap) {
|
uint64_t ulsch_in_slot_bitmap) {
|
||||||
nr_simple_ulsch_preprocessor(
|
RC.nrmac[module_id]->pre_processor_ul(
|
||||||
module_id, frame, slot, num_slots_per_tdd, ulsch_in_slot_bitmap);
|
module_id, frame, slot, num_slots_per_tdd, ulsch_in_slot_bitmap);
|
||||||
|
|
||||||
NR_UE_info_t *UE_info = &RC.nrmac[module_id]->UE_info;
|
NR_UE_info_t *UE_info = &RC.nrmac[module_id]->UE_info;
|
||||||
|
|||||||
@@ -96,6 +96,12 @@ void nr_schedule_ulsch(module_id_t module_id,
|
|||||||
int ul_slots,
|
int ul_slots,
|
||||||
uint64_t ulsch_in_slot_bitmap);
|
uint64_t ulsch_in_slot_bitmap);
|
||||||
|
|
||||||
|
void nr_simple_ulsch_preprocessor(module_id_t module_id,
|
||||||
|
frame_t frame,
|
||||||
|
sub_frame_t slot,
|
||||||
|
int num_slots_per_tdd,
|
||||||
|
uint64_t ulsch_in_slot_bitmap);
|
||||||
|
|
||||||
/////// Random Access MAC-PHY interface functions and primitives ///////
|
/////// Random Access MAC-PHY interface functions and primitives ///////
|
||||||
|
|
||||||
void nr_schedule_RA(module_id_t module_idP, frame_t frameP, sub_frame_t slotP);
|
void nr_schedule_RA(module_id_t module_idP, frame_t frameP, sub_frame_t slotP);
|
||||||
|
|||||||
@@ -87,6 +87,8 @@ void mac_top_init_gNB(void)
|
|||||||
else
|
else
|
||||||
RC.nrmac[i]->pre_processor_dl = nr_simple_dlsch_preprocessor;
|
RC.nrmac[i]->pre_processor_dl = nr_simple_dlsch_preprocessor;
|
||||||
|
|
||||||
|
RC.nrmac[i]->pre_processor_ul = nr_simple_ulsch_preprocessor;
|
||||||
|
|
||||||
}//END for (i = 0; i < RC.nb_nr_macrlc_inst; i++)
|
}//END for (i = 0; i < RC.nb_nr_macrlc_inst; i++)
|
||||||
|
|
||||||
AssertFatal(rlc_module_init(1) == 0,"Could not initialize RLC layer\n");
|
AssertFatal(rlc_module_init(1) == 0,"Could not initialize RLC layer\n");
|
||||||
|
|||||||
@@ -453,6 +453,11 @@ typedef void (*nr_pp_impl_dl)(module_id_t mod_id,
|
|||||||
frame_t frame,
|
frame_t frame,
|
||||||
sub_frame_t slot,
|
sub_frame_t slot,
|
||||||
int num_slots_per_tdd);
|
int num_slots_per_tdd);
|
||||||
|
typedef void (*nr_pp_impl_ul)(module_id_t mod_id,
|
||||||
|
frame_t frame,
|
||||||
|
sub_frame_t slot,
|
||||||
|
int num_slots_per_tdd,
|
||||||
|
uint64_t ulsch_in_slot_bitmap);
|
||||||
|
|
||||||
/*! \brief top level eNB MAC structure */
|
/*! \brief top level eNB MAC structure */
|
||||||
typedef struct gNB_MAC_INST_s {
|
typedef struct gNB_MAC_INST_s {
|
||||||
@@ -522,6 +527,8 @@ typedef struct gNB_MAC_INST_s {
|
|||||||
|
|
||||||
/// DL preprocessor for differentiated scheduling
|
/// DL preprocessor for differentiated scheduling
|
||||||
nr_pp_impl_dl pre_processor_dl;
|
nr_pp_impl_dl pre_processor_dl;
|
||||||
|
/// UL preprocessor for differentiated scheduling
|
||||||
|
nr_pp_impl_ul pre_processor_ul;
|
||||||
} gNB_MAC_INST;
|
} gNB_MAC_INST;
|
||||||
|
|
||||||
#endif /*__LAYER2_NR_MAC_GNB_H__ */
|
#endif /*__LAYER2_NR_MAC_GNB_H__ */
|
||||||
|
|||||||
Reference in New Issue
Block a user