bugfixes for phy-test mode and BWP less than 50 PRBs
This commit is contained in:
@@ -284,6 +284,8 @@ void nr_preprocessor_phytest(module_id_t module_id,
|
|||||||
const int bwpSize = NRRIV2BW(sched_ctrl->active_bwp->bwp_Common->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
const int bwpSize = NRRIV2BW(sched_ctrl->active_bwp->bwp_Common->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
||||||
int rbStart = 0;
|
int rbStart = 0;
|
||||||
int rbSize = 0;
|
int rbSize = 0;
|
||||||
|
if (target_dl_bw>bwpSize)
|
||||||
|
target_dl_bw = bwpSize;
|
||||||
uint16_t *vrb_map = RC.nrmac[module_id]->common_channels[CC_id].vrb_map;
|
uint16_t *vrb_map = RC.nrmac[module_id]->common_channels[CC_id].vrb_map;
|
||||||
/* loop ensures that we allocate exactly target_dl_bw, or return */
|
/* loop ensures that we allocate exactly target_dl_bw, or return */
|
||||||
while (true) {
|
while (true) {
|
||||||
@@ -445,7 +447,16 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
|
|||||||
nr_set_pusch_semi_static(scc, sched_ctrl->active_ubwp, dci_format, tda, num_dmrs_cdm_grps_no_data, ps);
|
nr_set_pusch_semi_static(scc, sched_ctrl->active_ubwp, dci_format, tda, num_dmrs_cdm_grps_no_data, ps);
|
||||||
|
|
||||||
uint16_t rbStart = 0;
|
uint16_t rbStart = 0;
|
||||||
uint16_t rbSize = target_ul_bw;
|
uint16_t rbSize;
|
||||||
|
|
||||||
|
const int bw = NRRIV2BW(sched_ctrl->active_ubwp ?
|
||||||
|
sched_ctrl->active_ubwp->bwp_Common->genericParameters.locationAndBandwidth :
|
||||||
|
scc->uplinkConfigCommon->initialUplinkBWP->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
||||||
|
|
||||||
|
if (target_ul_bw>bw)
|
||||||
|
rbSize = bw;
|
||||||
|
else
|
||||||
|
rbSize = target_ul_bw;
|
||||||
|
|
||||||
uint16_t *vrb_map_UL =
|
uint16_t *vrb_map_UL =
|
||||||
&RC.nrmac[module_id]->common_channels[CC_id].vrb_map_UL[sched_slot * MAX_BWP_SIZE];
|
&RC.nrmac[module_id]->common_channels[CC_id].vrb_map_UL[sched_slot * MAX_BWP_SIZE];
|
||||||
|
|||||||
@@ -599,7 +599,7 @@ void nr_configure_css_dci_initial(nfapi_nr_dl_tti_pdcch_pdu_rel15_t* pdcch_pdu,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void config_uldci(const NR_BWP_Uplink_t *ubwp,
|
void config_uldci(const NR_BWP_Uplink_t *ubwp,
|
||||||
const NR_ServingCellConfigCommon_t *scc,
|
const NR_ServingCellConfigCommon_t *scc,
|
||||||
const nfapi_nr_pusch_pdu_t *pusch_pdu,
|
const nfapi_nr_pusch_pdu_t *pusch_pdu,
|
||||||
dci_pdu_rel15_t *dci_pdu_rel15,
|
dci_pdu_rel15_t *dci_pdu_rel15,
|
||||||
int dci_format,
|
int dci_format,
|
||||||
@@ -610,6 +610,7 @@ void config_uldci(const NR_BWP_Uplink_t *ubwp,
|
|||||||
const int bw = NRRIV2BW(ubwp ?
|
const int bw = NRRIV2BW(ubwp ?
|
||||||
ubwp->bwp_Common->genericParameters.locationAndBandwidth :
|
ubwp->bwp_Common->genericParameters.locationAndBandwidth :
|
||||||
scc->uplinkConfigCommon->initialUplinkBWP->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
scc->uplinkConfigCommon->initialUplinkBWP->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
||||||
|
|
||||||
dci_pdu_rel15->frequency_domain_assignment.val =
|
dci_pdu_rel15->frequency_domain_assignment.val =
|
||||||
PRBalloc_to_locationandbandwidth0(pusch_pdu->rb_size, pusch_pdu->rb_start, bw);
|
PRBalloc_to_locationandbandwidth0(pusch_pdu->rb_size, pusch_pdu->rb_start, bw);
|
||||||
dci_pdu_rel15->time_domain_assignment.val = time_domain_assignment;
|
dci_pdu_rel15->time_domain_assignment.val = time_domain_assignment;
|
||||||
@@ -672,6 +673,7 @@ int nr_get_default_pucch_res(int pucch_ResourceCommon) {
|
|||||||
|
|
||||||
return(default_pucch_csset[pucch_ResourceCommon]);
|
return(default_pucch_csset[pucch_ResourceCommon]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void nr_configure_pdcch(nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu,
|
void nr_configure_pdcch(nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu,
|
||||||
NR_SearchSpace_t *ss,
|
NR_SearchSpace_t *ss,
|
||||||
NR_ControlResourceSet_t *coreset,
|
NR_ControlResourceSet_t *coreset,
|
||||||
@@ -738,15 +740,15 @@ void nr_configure_pdcch(nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu,
|
|||||||
|
|
||||||
// This function configures pucch pdu fapi structure
|
// This function configures pucch pdu fapi structure
|
||||||
void nr_configure_pucch(nfapi_nr_pucch_pdu_t* pucch_pdu,
|
void nr_configure_pucch(nfapi_nr_pucch_pdu_t* pucch_pdu,
|
||||||
NR_ServingCellConfigCommon_t *scc,
|
NR_ServingCellConfigCommon_t *scc,
|
||||||
NR_CellGroupConfig_t *CellGroup,
|
NR_CellGroupConfig_t *CellGroup,
|
||||||
NR_BWP_Uplink_t *bwp,
|
NR_BWP_Uplink_t *bwp,
|
||||||
uint16_t rnti,
|
uint16_t rnti,
|
||||||
uint8_t pucch_resource,
|
uint8_t pucch_resource,
|
||||||
uint16_t O_csi,
|
uint16_t O_csi,
|
||||||
uint16_t O_ack,
|
uint16_t O_ack,
|
||||||
uint8_t O_sr,
|
uint8_t O_sr,
|
||||||
int r_pucch) {
|
int r_pucch) {
|
||||||
|
|
||||||
NR_PUCCH_Config_t *pucch_Config;
|
NR_PUCCH_Config_t *pucch_Config;
|
||||||
NR_PUCCH_Resource_t *pucchres;
|
NR_PUCCH_Resource_t *pucchres;
|
||||||
|
|||||||
@@ -1569,7 +1569,7 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot)
|
|||||||
n_ubwp = CellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList->list.count;
|
n_ubwp = CellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList->list.count;
|
||||||
|
|
||||||
config_uldci(sched_ctrl->active_ubwp,
|
config_uldci(sched_ctrl->active_ubwp,
|
||||||
scc,
|
scc,
|
||||||
pusch_pdu,
|
pusch_pdu,
|
||||||
&uldci_payload,
|
&uldci_payload,
|
||||||
ps->dci_format,
|
ps->dci_format,
|
||||||
|
|||||||
Reference in New Issue
Block a user