Introduce group-based processing using FAPI groups
Refactor ULSCH_id based processing of the PUSCH PDUs to group based
processing using FAPI groups. This is required to process multiple
PUSCH PDUs jointly for MU-MIMO. This is an initial commit that
supports group size = 1 and will be extended to > 1 in the following
commits.
The flow of group information from MAC to PHY using FAPI is as follows:
- In MAC, nr_fill_pusch_fapi_groups() is introduced to fill UEs in
groups. The FAPI groups consist of UE lists filled with a PDU index.
Based on the parameter UL_tti_req->n_group, the number of unique groups are
identified. In each group, the parameter group->n_ue defines the
number of UEs present in the group along with their PDU indices.
- After receiving the FAPI message in the PHY from MAC, in
nr_save_ul_tti_req(), a group number and group size for each
PUSCH PDU is allocated in nr_fill_ulsch(), and a PUSCH job is created.
- Further, after a job is created, in phy_procedures_gNB_uespec_RX(),
the PUSCH PDUs of the ULSCH_ids for each group are segregated based
on the group index. They are processed jointly using
handle_pusch_rx_group_trigger(), and the PUSCH DTX per UE in the
group is calculated using handle_pusch_DTX().
Signed-off-by:
Rakesh Mundlamuri <rakesh.mundlamuri@openairinterface.org>
Showing
This diff is collapsed.
Please register or sign in to comment