Commit c4eaae72 authored by Robert Schmidt's avatar Robert Schmidt

Use function pointer to call UL pre-processor

parent 396dc962
...@@ -550,7 +550,7 @@ void nr_schedule_ulsch(module_id_t module_id, ...@@ -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, ...@@ -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) ...@@ -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, ...@@ -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 { ...@@ -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__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment