mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
At each DL slot, schedule_nr_pcch() scans pcch_queue for records whose UE paging occasion matches (frame, slot), encodes one PCCH-Message via do_NR_Paging(), and fills P-RNTI PDCCH/PDSCH NFAPI PDUs. Paging occasion detection is now owned by MAC via PCCH scheduler helper that implements PF/PO computation per TS 38.304 §7. Computation is determined by defaultPagingCycle (T), nAndPagingFrameOffset (N), ns (Ns), with PF formula (SFN + PF_offset) mod T = (T div N) * (UE_ID mod N), and PO slot mapping for Ns = 1/2/4. Paging is transmitted only when (frame, slot) is the UE's paging occasion (TS 38.304 §7.1) and when a Type2-PDCCH CSS is configured via pagingSearchSpace, so the UE can receive it. The RRC PCCH path is simplified accordingly. Changes In `openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_pcch.c`: - Add paging-specific scheduling logic, including `is_paging_occasion()`, paging-search-space resolution, and `nr_fill_nfapi_dl_PCCH_pdu()` - Add `schedule_nr_pcch()` implementation to allocate CCE/PDSCH resources, populate DL/TX NFAPI requests, encode at PO via do_NR_Paging() In gNB scheduler: - Invoke `schedule_nr_pcch()` in SA-mode DL scheduling In `openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c`: - Add PCCH scheduling helpers to be reused at UE side Also: - Remove no longer relevant `rrc_gNB_generate_pcch_msg()` from `rrc_gNB.c` Signed-off-by: Guido Casati <guido.casati@openairinterface.org>