Call indication regularly

Upon reception of FAPI UL messages (e.g., RACH.indication), those
messages are put into queues, to be delivered in a single call,
NR_UL_indication(). Call the scheduler to trigger processing in UL.

Note that ideally, these queues should not exist at all, and messages
should just be delivered asynchronously, as this would lead to less
copying of messages. Currently, we fulfill the scheduler interface
instead.

Important! Trigger UL after having run DL scheduler and sent the
messages, to ensure short delay between Slot.indication, and the
response to those messages.
This commit is contained in:
Robert Schmidt
2025-01-27 10:59:15 +01:00
parent 531726633a
commit e3bad16ab8
2 changed files with 6 additions and 1 deletions
+4
View File
@@ -1099,6 +1099,10 @@ int trigger_scheduler(nfapi_nr_slot_indication_scf_t *slot_ind)
if (g_sched_resp.UL_dci_req.numPdus > 0)
oai_nfapi_ul_dci_req(&g_sched_resp.UL_dci_req);
NR_UL_IND_t ind = {.frame = slot_ind->sfn, .slot = slot_ind->slot, };
NR_UL_indication(&ind);
return 1;
}
+2 -1
View File
@@ -495,7 +495,8 @@ void NR_UL_indication(NR_UL_IND_t *UL_info) {
}
}
handle_nr_rach(UL_info);
if (UL_info->rach_ind.number_of_pdus > 0)
handle_nr_rach(UL_info);
handle_nr_uci(UL_info);
handle_nr_ulsch(UL_info);
handle_nr_srs(UL_info);