diff --git a/openair1/SIMULATION/NR_PHY/nr_dummy_functions.c b/openair1/SIMULATION/NR_PHY/nr_dummy_functions.c index ba5c2bf025..d55322156b 100644 --- a/openair1/SIMULATION/NR_PHY/nr_dummy_functions.c +++ b/openair1/SIMULATION/NR_PHY/nr_dummy_functions.c @@ -15,6 +15,8 @@ int oai_nfapi_nr_uci_indication(nfapi_nr_uci_indication_t *ind) { return (0); } int oai_nfapi_nr_rach_indication(nfapi_nr_rach_indication_t *ind) { return (0); } int oai_nfapi_nr_rx_data_indication(nfapi_nr_rx_data_indication_t *ind) { return 0; } +void handle_nr_slot_ind(uint16_t sfn, uint16_t slot) { } + int pack_nr_srs_beamforming_report(void *pMessageBuf, void *pPackedBuf, uint32_t packedBufLen) { return 0; } int unpack_nr_srs_beamforming_report(void *pMessageBuf, uint32_t messageBufLen, void *pUnpackedBuf, uint32_t unpackedBufLen) { return 0; } int pack_nr_srs_normalized_channel_iq_matrix(void *pMessageBuf, void *pPackedBuf, uint32_t packedBufLen) { return 0; } diff --git a/openair2/NR_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_PHY_INTERFACE/NR_IF_Module.c index 1ef2365573..9a2c9ed94b 100644 --- a/openair2/NR_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_PHY_INTERFACE/NR_IF_Module.c @@ -396,7 +396,15 @@ static void match_crc_rx_pdu(nfapi_nr_rx_data_indication_t *rx_ind, nfapi_nr_crc } } -static void run_scheduler(module_id_t module_id, int CC_id, int frame, int slot) +extern void handle_nr_slot_ind(uint16_t sfn, uint16_t slot); +static void pnf_send_slot_ind(module_id_t module_id, int CC_id, int frame, int slot) +{ + (void)module_id; + (void)CC_id; + handle_nr_slot_ind(frame, slot); +} + +static void run_scheduler_monolithic(module_id_t module_id, int CC_id, int frame, int slot) { NR_IF_Module_t *ifi = nr_if_inst[module_id]; @@ -509,7 +517,12 @@ NR_IF_Module_t *NR_IF_Module_init(int Mod_id) { nr_if_inst[Mod_id]->CC_mask=0; nr_if_inst[Mod_id]->NR_UL_indication = NR_UL_indication; - nr_if_inst[Mod_id]->NR_slot_indication = run_scheduler; + if (NFAPI_MODE == NFAPI_MONOLITHIC) + nr_if_inst[Mod_id]->NR_slot_indication = run_scheduler_monolithic; + else if (NFAPI_MODE == NFAPI_MODE_PNF) + nr_if_inst[Mod_id]->NR_slot_indication = pnf_send_slot_ind; + else // NFAPI_MODE_VNF + NULL; AssertFatal(pthread_mutex_init(&nr_if_inst[Mod_id]->if_mutex,NULL)==0, "allocation of nr_if_inst[%d]->if_mutex fails\n",Mod_id); }