Simplify config_uldci(): handle only one DCI
This commit is contained in:
@@ -502,15 +502,18 @@ void nr_configure_css_dci_initial(nfapi_nr_dl_tti_pdcch_pdu_rel15_t* pdcch_pdu,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_uldci(NR_BWP_Uplink_t *ubwp,
|
void config_uldci(const NR_BWP_Uplink_t *ubwp,
|
||||||
nfapi_nr_pusch_pdu_t *pusch_pdu,
|
const nfapi_nr_pusch_pdu_t *pusch_pdu,
|
||||||
nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu_rel15,
|
nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu_rel15,
|
||||||
dci_pdu_rel15_t *dci_pdu_rel15,
|
dci_pdu_rel15_t *dci_pdu_rel15,
|
||||||
int *dci_formats,
|
int dci_format,
|
||||||
int time_domain_assignment, uint8_t tpc,
|
int time_domain_assignment,
|
||||||
int n_ubwp, int bwp_id) {
|
uint8_t tpc,
|
||||||
|
int n_ubwp,
|
||||||
|
int bwp_id)
|
||||||
|
{
|
||||||
const int bw = NRRIV2BW(ubwp->bwp_Common->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
const int bw = NRRIV2BW(ubwp->bwp_Common->genericParameters.locationAndBandwidth, MAX_BWP_SIZE);
|
||||||
switch (dci_formats[(pdcch_pdu_rel15->numDlDci) - 1]) {
|
switch (dci_format) {
|
||||||
case NR_UL_DCI_FORMAT_0_0:
|
case NR_UL_DCI_FORMAT_0_0:
|
||||||
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);
|
||||||
|
|||||||
@@ -802,19 +802,15 @@ void nr_schedule_ulsch(module_id_t module_id,
|
|||||||
sched_ctrl->aggregation_level,
|
sched_ctrl->aggregation_level,
|
||||||
sched_ctrl->cce_index);
|
sched_ctrl->cce_index);
|
||||||
|
|
||||||
dci_pdu_rel15_t dci_pdu_rel15[MAX_DCI_CORESET];
|
dci_pdu_rel15_t dci_pdu_rel15;
|
||||||
memset(dci_pdu_rel15, 0, sizeof(dci_pdu_rel15));
|
memset(&dci_pdu_rel15, 0, sizeof(dci_pdu_rel15));
|
||||||
NR_CellGroupConfig_t *secondaryCellGroup = UE_info->secondaryCellGroup[UE_id];
|
NR_CellGroupConfig_t *secondaryCellGroup = UE_info->secondaryCellGroup[UE_id];
|
||||||
const int n_ubwp = secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList->list.count;
|
const int n_ubwp = secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList->list.count;
|
||||||
// NOTE: below functions assume that dci_formats is an array corresponding
|
|
||||||
// to all UL DCIs in the PDCCH, but for us it is a simple int. So before
|
|
||||||
// having multiple UEs, the below need to be changed (IMO the functions
|
|
||||||
// should fill for one DCI only and not handle all of them).
|
|
||||||
config_uldci(sched_ctrl->active_ubwp,
|
config_uldci(sched_ctrl->active_ubwp,
|
||||||
pusch_pdu,
|
pusch_pdu,
|
||||||
pdcch_pdu_rel15,
|
pdcch_pdu_rel15,
|
||||||
&dci_pdu_rel15[0],
|
&dci_pdu_rel15,
|
||||||
&ps->dci_format,
|
ps->dci_format,
|
||||||
ps->time_domain_allocation,
|
ps->time_domain_allocation,
|
||||||
UE_info->UE_sched_ctrl[UE_id].tpc0,
|
UE_info->UE_sched_ctrl[UE_id].tpc0,
|
||||||
n_ubwp,
|
n_ubwp,
|
||||||
@@ -822,7 +818,7 @@ void nr_schedule_ulsch(module_id_t module_id,
|
|||||||
fill_dci_pdu_rel15(scc,
|
fill_dci_pdu_rel15(scc,
|
||||||
secondaryCellGroup,
|
secondaryCellGroup,
|
||||||
&pdcch_pdu_rel15->dci_pdu[pdcch_pdu_rel15->numDlDci - 1],
|
&pdcch_pdu_rel15->dci_pdu[pdcch_pdu_rel15->numDlDci - 1],
|
||||||
dci_pdu_rel15,
|
&dci_pdu_rel15,
|
||||||
ps->dci_format,
|
ps->dci_format,
|
||||||
rnti_types[0],
|
rnti_types[0],
|
||||||
pusch_pdu->bwp_size,
|
pusch_pdu->bwp_size,
|
||||||
|
|||||||
@@ -180,13 +180,15 @@ void handle_nr_uci_pucch_2_3_4(module_id_t mod_id,
|
|||||||
const nfapi_nr_uci_pucch_pdu_format_2_3_4_t *uci_234);
|
const nfapi_nr_uci_pucch_pdu_format_2_3_4_t *uci_234);
|
||||||
|
|
||||||
|
|
||||||
void config_uldci(NR_BWP_Uplink_t *ubwp,
|
void config_uldci(const NR_BWP_Uplink_t *ubwp,
|
||||||
nfapi_nr_pusch_pdu_t *pusch_pdu,
|
const nfapi_nr_pusch_pdu_t *pusch_pdu,
|
||||||
nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu_rel15,
|
nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu_rel15,
|
||||||
dci_pdu_rel15_t *dci_pdu_rel15,
|
dci_pdu_rel15_t *dci_pdu_rel15,
|
||||||
int *dci_formats,
|
int dci_format,
|
||||||
int time_domain_assignment, uint8_t tpc,
|
int time_domain_assignment,
|
||||||
int n_ubwp, int bwp_id);
|
uint8_t tpc,
|
||||||
|
int n_ubwp,
|
||||||
|
int bwp_id);
|
||||||
|
|
||||||
void nr_schedule_pucch(int Mod_idP,
|
void nr_schedule_pucch(int Mod_idP,
|
||||||
frame_t frameP,
|
frame_t frameP,
|
||||||
|
|||||||
Reference in New Issue
Block a user