Dont send DCIs repeatedly for a given sfn/slot
Although the timing isnt perfect, if the VNF adjusts in the middle of scheduling a DCI the gNB would try to send two DCIs for a certain sfn/slot; this commit will stop that from happening. The timing issue still persits.
This commit is contained in:
@@ -351,7 +351,6 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg)
|
||||
};
|
||||
send_nsa_standalone_msg(&UL_INFO, crc_ind->header.message_id);
|
||||
free(crc_ind->crc_list);
|
||||
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
|
||||
@@ -1761,10 +1761,4 @@ typedef struct
|
||||
|
||||
} nfapi_nr_rach_indication_t;
|
||||
|
||||
typedef union {
|
||||
nfapi_nr_rach_indication_t rach_ind;
|
||||
nfapi_nr_rx_data_indication_t rx_ind;
|
||||
nfapi_nr_crc_indication_t crc_ind;
|
||||
} nr_queue_candidate;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1030,7 +1030,14 @@ void nr_schedule_ulsch(module_id_t module_id,
|
||||
harq_id,
|
||||
cur_harq->round,
|
||||
cur_harq->ndi);
|
||||
|
||||
gNB_MAC_INST *gNB = RC.nrmac[0];
|
||||
if (sched_pusch->frame == gNB->handled_frame && sched_pusch->slot == gNB->handled_slot) {
|
||||
LOG_D(NR_MAC, "Dropping becasue frame %d == gNB frame %d, slot %d == gNb slot %d\n",
|
||||
frame, gNB->handled_frame, slot, gNB->handled_slot);
|
||||
return;
|
||||
}
|
||||
gNB->handled_frame = sched_pusch->frame;
|
||||
gNB->handled_slot = sched_pusch->slot;
|
||||
/* PUSCH in a later slot, but corresponding DCI now! */
|
||||
nfapi_nr_ul_tti_request_t *future_ul_tti_req = &RC.nrmac[module_id]->UL_tti_req_ahead[0][sched_pusch->slot];
|
||||
AssertFatal(future_ul_tti_req->SFN == sched_pusch->frame
|
||||
|
||||
@@ -81,6 +81,8 @@ void mac_top_init_gNB(void)
|
||||
|
||||
RC.nrmac[i]->ul_handle = 0;
|
||||
|
||||
RC.nrmac[i]->handled_frame = 1025;
|
||||
|
||||
if (get_softmodem_params()->phy_test) {
|
||||
RC.nrmac[i]->pre_processor_dl = nr_preprocessor_phytest;
|
||||
RC.nrmac[i]->pre_processor_ul = nr_ul_preprocessor_phytest;
|
||||
|
||||
@@ -603,6 +603,9 @@ typedef struct gNB_MAC_INST_s {
|
||||
NR_CellGroupConfig_t *secondaryCellGroupCommon;
|
||||
NR_Type0_PDCCH_CSS_config_t type0_PDCCH_CSS_config;
|
||||
|
||||
frame_t handled_frame;
|
||||
sub_frame_t handled_slot;
|
||||
|
||||
} gNB_MAC_INST;
|
||||
|
||||
#endif /*__LAYER2_NR_MAC_GNB_H__ */
|
||||
|
||||
Reference in New Issue
Block a user