fixes for do-ra mode including moving to sc_info some info non related to a specific BWP
This commit is contained in:
@@ -703,6 +703,7 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP,
|
||||
NR_COMMON_channels_t *cc = &nr_mac->common_channels[CC_id];
|
||||
NR_ServingCellConfigCommon_t *scc = cc->ServingCellConfigCommon;
|
||||
NR_UE_UL_BWP_t *ul_bwp = &ra->UL_BWP;
|
||||
NR_UE_ServingCell_Info_t *sc_info = &ra->sc_info;
|
||||
|
||||
NR_PUSCH_TimeDomainResourceAllocationList_t *pusch_TimeDomainAllocationList = ul_bwp->tdaList_Common;
|
||||
int mu = ul_bwp->scs;
|
||||
@@ -736,8 +737,8 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP,
|
||||
int buffer_index = ul_buffer_index(sched_frame, sched_slot, mu, nr_mac->vrb_map_UL_size);
|
||||
uint16_t *vrb_map_UL = &nr_mac->common_channels[CC_id].vrb_map_UL[buffer_index * MAX_BWP_SIZE];
|
||||
|
||||
const int BWPSize = ul_bwp->initial_BWPSize;
|
||||
const int BWPStart = ul_bwp->initial_BWPStart;
|
||||
const int BWPSize = sc_info->initial_ul_BWPSize;
|
||||
const int BWPStart = sc_info->initial_ul_BWPStart;
|
||||
|
||||
int rbStart = 0;
|
||||
for (int i = 0; (i < ra->msg3_nb_rb) && (rbStart <= (BWPSize - ra->msg3_nb_rb)); i++) {
|
||||
@@ -834,7 +835,7 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP,
|
||||
1, // Not toggling NDI in msg3 retransmissions
|
||||
ul_bwp);
|
||||
|
||||
fill_dci_pdu_rel15(NULL, // parameter not needed for DCI 0_0
|
||||
fill_dci_pdu_rel15(sc_info,
|
||||
&ra->DL_BWP,
|
||||
ul_bwp,
|
||||
dci_pdu,
|
||||
@@ -882,6 +883,7 @@ static void nr_get_Msg3alloc(module_id_t module_id,
|
||||
frame_type_t frame_type = mac->common_channels->frame_type;
|
||||
|
||||
NR_UE_UL_BWP_t *ul_bwp = &ra->UL_BWP;
|
||||
NR_UE_ServingCell_Info_t *sc_info = &ra->sc_info;
|
||||
|
||||
int mu = ul_bwp->scs;
|
||||
int StartSymbolIndex = 0;
|
||||
@@ -959,8 +961,8 @@ static void nr_get_Msg3alloc(module_id_t module_id,
|
||||
const int buffer_index = ul_buffer_index(ra->Msg3_frame, ra->Msg3_slot, mu, mac->vrb_map_UL_size);
|
||||
uint16_t *vrb_map_UL = &mac->common_channels[CC_id].vrb_map_UL[buffer_index * MAX_BWP_SIZE];
|
||||
|
||||
int bwpSize = ul_bwp->initial_BWPSize;
|
||||
int bwpStart = ul_bwp->initial_BWPStart;
|
||||
int bwpSize = sc_info->initial_ul_BWPSize;
|
||||
int bwpStart = sc_info->initial_ul_BWPStart;
|
||||
if (bwpSize != ul_bwp->BWPSize || bwpStart != ul_bwp->BWPStart) {
|
||||
int act_bwp_start = ul_bwp->BWPStart;
|
||||
int act_bwp_size = ul_bwp->BWPSize;
|
||||
@@ -1085,6 +1087,7 @@ static void nr_add_msg3(module_id_t module_idP, int CC_id, frame_t frameP, sub_f
|
||||
NR_COMMON_channels_t *cc = &mac->common_channels[CC_id];
|
||||
NR_ServingCellConfigCommon_t *scc = cc->ServingCellConfigCommon;
|
||||
NR_UE_UL_BWP_t *ul_bwp = &ra->UL_BWP;
|
||||
NR_UE_ServingCell_Info_t *sc_info = &ra->sc_info;
|
||||
|
||||
if (ra->state == RA_IDLE) {
|
||||
LOG_W(NR_MAC,"RA is not active for RA %X. skipping msg3 scheduling\n", ra->rnti);
|
||||
@@ -1119,7 +1122,7 @@ static void nr_add_msg3(module_id_t module_idP, int CC_id, frame_t frameP, sub_f
|
||||
nfapi_nr_pusch_pdu_t *pusch_pdu = &future_ul_tti_req->pdus_list[future_ul_tti_req->n_pdus].pusch_pdu;
|
||||
memset(pusch_pdu, 0, sizeof(nfapi_nr_pusch_pdu_t));
|
||||
|
||||
const int ibwp_size = ul_bwp->initial_BWPSize;
|
||||
const int ibwp_size = sc_info->initial_ul_BWPSize;
|
||||
const int fh = (ul_bwp->pusch_Config && ul_bwp->pusch_Config->frequencyHopping) ? 1 : 0;
|
||||
const int startSymbolAndLength = ul_bwp->tdaList_Common->list.array[ra->Msg3_tda_id]->startSymbolAndLength;
|
||||
const int mappingtype = ul_bwp->tdaList_Common->list.array[ra->Msg3_tda_id]->mappingType;
|
||||
@@ -1159,6 +1162,7 @@ static void nr_generate_Msg2(module_id_t module_idP,
|
||||
gNB_MAC_INST *nr_mac = RC.nrmac[module_idP];
|
||||
NR_COMMON_channels_t *cc = &nr_mac->common_channels[CC_id];
|
||||
NR_UE_DL_BWP_t *dl_bwp = &ra->DL_BWP;
|
||||
NR_UE_ServingCell_Info_t *sc_info = &ra->sc_info;
|
||||
|
||||
if ((ra->Msg2_frame == frameP) && (ra->Msg2_slot == slotP)) {
|
||||
|
||||
@@ -1174,7 +1178,7 @@ static void nr_generate_Msg2(module_id_t module_idP,
|
||||
NR_Type0_PDCCH_CSS_config_t *type0_PDCCH_CSS_config = NULL;
|
||||
if(*ss->controlResourceSetId != 0) {
|
||||
BWPStart = dl_bwp->BWPStart;
|
||||
BWPSize = dl_bwp->initial_BWPSize;
|
||||
BWPSize = sc_info->initial_dl_BWPSize;
|
||||
} else {
|
||||
type0_PDCCH_CSS_config = &nr_mac->type0_PDCCH_CSS_config[ra->beam_id];
|
||||
BWPStart = type0_PDCCH_CSS_config->cset_start_rb;
|
||||
@@ -1311,7 +1315,7 @@ static void nr_generate_Msg2(module_id_t module_idP,
|
||||
}
|
||||
|
||||
pdsch_pdu_rel15->maintenance_parms_v3.tbSizeLbrmBytes = nr_compute_tbslbrm(mcsTableIdx,
|
||||
dl_bwp->bw_tbslbrm,
|
||||
sc_info->dl_bw_tbslbrm,
|
||||
1);
|
||||
pdsch_pdu_rel15->maintenance_parms_v3.ldpcBaseGraph = get_BG(TBS<<3,R);
|
||||
|
||||
@@ -1360,7 +1364,7 @@ static void nr_generate_Msg2(module_id_t module_idP,
|
||||
pdcch_pdu_rel15->StartSymbolIndex,
|
||||
pdcch_pdu_rel15->DurationSymbols);
|
||||
|
||||
fill_dci_pdu_rel15(NULL, // parameter not needed for DCI 1_0
|
||||
fill_dci_pdu_rel15(sc_info,
|
||||
dl_bwp,
|
||||
&ra->UL_BWP,
|
||||
&pdcch_pdu_rel15->dci_pdu[pdcch_pdu_rel15->numDlDci - 1],
|
||||
@@ -1520,7 +1524,7 @@ static void prepare_dl_pdus(gNB_MAC_INST *nr_mac,
|
||||
nr_get_tbs_dl(&dl_tti_pdsch_pdu->pdsch_pdu, x_Overhead, pdsch_pdu_rel15->numDmrsCdmGrpsNoData, tb_scaling);
|
||||
|
||||
pdsch_pdu_rel15->maintenance_parms_v3.tbSizeLbrmBytes = nr_compute_tbslbrm(mcsTableIdx,
|
||||
dl_bwp->bw_tbslbrm,
|
||||
ra->sc_info.dl_bw_tbslbrm,
|
||||
1);
|
||||
pdsch_pdu_rel15->maintenance_parms_v3.ldpcBaseGraph = get_BG(tb_size<<3,R);
|
||||
|
||||
@@ -1582,7 +1586,7 @@ static void prepare_dl_pdus(gNB_MAC_INST *nr_mac,
|
||||
pdcch_pdu_rel15->DurationSymbols,
|
||||
pdsch_pdu_rel15->BWPSize);
|
||||
|
||||
fill_dci_pdu_rel15(NULL, // parameter not needed for DCI 1_0
|
||||
fill_dci_pdu_rel15(&ra->sc_info,
|
||||
dl_bwp,
|
||||
&ra->UL_BWP,
|
||||
&pdcch_pdu_rel15->dci_pdu[pdcch_pdu_rel15->numDlDci - 1],
|
||||
|
||||
Reference in New Issue
Block a user