Merge remote-tracking branch 'origin/fix_3372' into integration_2025_w17 (!3397)
Fix for MIB/SIB gNB delay mechanism Fix for !3372 to start scheduling/print gNB stats when the PRACH noise estimation is ready
This commit is contained in:
@@ -121,7 +121,7 @@ void L1_nr_prach_procedures(PHY_VARS_gNB *gNB, int frame, int slot, nfapi_nr_rac
|
||||
|
||||
for(int prach_oc = 0; prach_oc < prach_pdu->num_prach_ocas; prach_oc++) {
|
||||
for (ru_aa=0,aa=0;ru_aa<ru->nb_rx;ru_aa++,aa++) {
|
||||
gNB->prach_vars.rxsigF[aa] = ru->prach_rxsigF[prach_oc][ru_aa];
|
||||
gNB->prach_vars.rxsigF[aa] = ru->prach_rxsigF[prach_oc][ru_aa];
|
||||
}
|
||||
|
||||
prachStartSymbol = prach_pdu->prach_start_symbol+prach_oc*N_dur;
|
||||
|
||||
@@ -194,7 +194,8 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frame, slot_t slo
|
||||
clear_nr_nfapi_information(gNB, CC_id, frame, slot, &sched_info->DL_req, &sched_info->TX_req, &sched_info->UL_dci_req);
|
||||
}
|
||||
|
||||
if ((slot == 0) && (frame & 127) == 0) {
|
||||
bool wait_prach_completed = gNB->num_scheduled_prach_rx >= NUM_PRACH_RX_FOR_NOISE_ESTIMATE;
|
||||
if (wait_prach_completed && (slot == 0) && (frame & 127) == 0) {
|
||||
char stats_output[32656] = {0};
|
||||
dump_mac_stats(gNB, stats_output, sizeof(stats_output), true);
|
||||
LOG_I(NR_MAC, "Frame.Slot %d.%d\n%s\n", frame, slot, stats_output);
|
||||
@@ -202,7 +203,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frame, slot_t slo
|
||||
|
||||
nr_mac_update_timers(module_idP, frame, slot);
|
||||
|
||||
if (gNB->num_scheduled_prach_rx >= NUM_PRACH_RX_FOR_NOISE_ESTIMATE || get_softmodem_params()->phy_test) {
|
||||
if (wait_prach_completed || get_softmodem_params()->phy_test) {
|
||||
// This schedules MIB
|
||||
schedule_nr_mib(module_idP, frame, slot, &sched_info->DL_req);
|
||||
|
||||
|
||||
@@ -430,7 +430,6 @@ void schedule_nr_prach(module_id_t module_idP, frame_t frameP, slot_t slotP)
|
||||
}
|
||||
}
|
||||
if(td_index == 0) {
|
||||
gNB->num_scheduled_prach_rx++;
|
||||
AssertFatal(UL_tti_req->n_pdus < sizeof(UL_tti_req->pdus_list) / sizeof(UL_tti_req->pdus_list[0]),
|
||||
"Invalid UL_tti_req->n_pdus %d\n", UL_tti_req->n_pdus);
|
||||
|
||||
@@ -443,6 +442,7 @@ void schedule_nr_prach(module_id_t module_idP, frame_t frameP, slot_t slotP)
|
||||
// filling the prach fapi structure
|
||||
prach_pdu->phys_cell_id = *scc->physCellId;
|
||||
prach_pdu->num_prach_ocas = N_t_slot;
|
||||
gNB->num_scheduled_prach_rx += N_t_slot;
|
||||
prach_pdu->prach_start_symbol = start_symb;
|
||||
prach_pdu->num_ra = fdm_index;
|
||||
prach_pdu->num_cs = get_NCS(rach_ConfigGeneric->zeroCorrelationZoneConfig,
|
||||
|
||||
Reference in New Issue
Block a user