Commit 8426dacf authored by Robert Schmidt's avatar Robert Schmidt

Simplify config_uldci(): handle only one DCI

parent bbb9501b
...@@ -496,15 +496,17 @@ void nr_configure_css_dci_initial(nfapi_nr_dl_tti_pdcch_pdu_rel15_t* pdcch_pdu, ...@@ -496,15 +496,17 @@ 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, 275); const int bw = NRRIV2BW(ubwp->bwp_Common->genericParameters.locationAndBandwidth, 275);
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);
......
...@@ -783,19 +783,15 @@ void nr_schedule_ulsch(module_id_t module_id, ...@@ -783,19 +783,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,
...@@ -803,7 +799,7 @@ void nr_schedule_ulsch(module_id_t module_id, ...@@ -803,7 +799,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,
......
...@@ -171,13 +171,15 @@ void handle_nr_uci_pucch_2_3_4(module_id_t mod_id, ...@@ -171,13 +171,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,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment