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,
|
||||
nfapi_nr_pusch_pdu_t *pusch_pdu,
|
||||
void config_uldci(const NR_BWP_Uplink_t *ubwp,
|
||||
const nfapi_nr_pusch_pdu_t *pusch_pdu,
|
||||
nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu_rel15,
|
||||
dci_pdu_rel15_t *dci_pdu_rel15,
|
||||
int *dci_formats,
|
||||
int time_domain_assignment, uint8_t tpc,
|
||||
int n_ubwp, int bwp_id) {
|
||||
int dci_format,
|
||||
int time_domain_assignment,
|
||||
uint8_t tpc,
|
||||
int n_ubwp,
|
||||
int bwp_id)
|
||||
{
|
||||
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:
|
||||
dci_pdu_rel15->frequency_domain_assignment.val =
|
||||
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->cce_index);
|
||||
|
||||
dci_pdu_rel15_t dci_pdu_rel15[MAX_DCI_CORESET];
|
||||
memset(dci_pdu_rel15, 0, sizeof(dci_pdu_rel15));
|
||||
dci_pdu_rel15_t dci_pdu_rel15;
|
||||
memset(&dci_pdu_rel15, 0, sizeof(dci_pdu_rel15));
|
||||
NR_CellGroupConfig_t *secondaryCellGroup = UE_info->secondaryCellGroup[UE_id];
|
||||
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,
|
||||
pusch_pdu,
|
||||
pdcch_pdu_rel15,
|
||||
&dci_pdu_rel15[0],
|
||||
&ps->dci_format,
|
||||
&dci_pdu_rel15,
|
||||
ps->dci_format,
|
||||
ps->time_domain_allocation,
|
||||
UE_info->UE_sched_ctrl[UE_id].tpc0,
|
||||
n_ubwp,
|
||||
@@ -822,7 +818,7 @@ void nr_schedule_ulsch(module_id_t module_id,
|
||||
fill_dci_pdu_rel15(scc,
|
||||
secondaryCellGroup,
|
||||
&pdcch_pdu_rel15->dci_pdu[pdcch_pdu_rel15->numDlDci - 1],
|
||||
dci_pdu_rel15,
|
||||
&dci_pdu_rel15,
|
||||
ps->dci_format,
|
||||
rnti_types[0],
|
||||
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);
|
||||
|
||||
|
||||
void config_uldci(NR_BWP_Uplink_t *ubwp,
|
||||
nfapi_nr_pusch_pdu_t *pusch_pdu,
|
||||
void config_uldci(const NR_BWP_Uplink_t *ubwp,
|
||||
const nfapi_nr_pusch_pdu_t *pusch_pdu,
|
||||
nfapi_nr_dl_tti_pdcch_pdu_rel15_t *pdcch_pdu_rel15,
|
||||
dci_pdu_rel15_t *dci_pdu_rel15,
|
||||
int *dci_formats,
|
||||
int time_domain_assignment, uint8_t tpc,
|
||||
int n_ubwp, int bwp_id);
|
||||
int dci_format,
|
||||
int time_domain_assignment,
|
||||
uint8_t tpc,
|
||||
int n_ubwp,
|
||||
int bwp_id);
|
||||
|
||||
void nr_schedule_pucch(int Mod_idP,
|
||||
frame_t frameP,
|
||||
|
||||
Reference in New Issue
Block a user