Commit c202e917 authored by Robert Schmidt's avatar Robert Schmidt

Merge remote-tracking branch 'origin/hotfix-fdbk-for-msg2-sib' into integration_2024_w21c

parents c0b7ac9a 4a5d9243
...@@ -474,7 +474,6 @@ typedef struct { ...@@ -474,7 +474,6 @@ typedef struct {
vrb_to_prb_mapping_t vrb_to_prb_mapping; vrb_to_prb_mapping_t vrb_to_prb_mapping;
uint8_t dai; uint8_t dai;
double scaling_factor_S; double scaling_factor_S;
int8_t accumulated_delta_PUCCH;
uint8_t pucch_resource_id; uint8_t pucch_resource_id;
uint8_t pdsch_to_harq_feedback_time_ind; uint8_t pdsch_to_harq_feedback_time_ind;
uint8_t n_dmrs_cdm_groups; uint8_t n_dmrs_cdm_groups;
......
...@@ -773,8 +773,7 @@ static int nr_ue_process_dci_dl_10(NR_UE_MAC_INST_t *mac, ...@@ -773,8 +773,7 @@ static int nr_ue_process_dci_dl_10(NR_UE_MAC_INST_t *mac,
LOG_E(MAC, "invalid tpc %d\n", dci->tpc); LOG_E(MAC, "invalid tpc %d\n", dci->tpc);
return -1; return -1;
} }
const int tcp[] = {-1, 0, 1, 3};
dlsch_pdu->accumulated_delta_PUCCH = tcp[dci->tpc];
// Sanity check for pucch_resource_indicator value received to check for false DCI. // Sanity check for pucch_resource_indicator value received to check for false DCI.
bool valid = false; bool valid = false;
NR_PUCCH_Config_t *pucch_Config = mac->current_UL_BWP ? mac->current_UL_BWP->pucch_Config : NULL; NR_PUCCH_Config_t *pucch_Config = mac->current_UL_BWP ? mac->current_UL_BWP->pucch_Config : NULL;
...@@ -798,23 +797,24 @@ static int nr_ue_process_dci_dl_10(NR_UE_MAC_INST_t *mac, ...@@ -798,23 +797,24 @@ static int nr_ue_process_dci_dl_10(NR_UE_MAC_INST_t *mac,
return -1; return -1;
} }
if (dci_ind->rnti != mac->ra.ra_rnti && dci_ind->rnti != SI_RNTI) if (dci_ind->rnti != mac->ra.ra_rnti && dci_ind->rnti != SI_RNTI) {
AssertFatal(1 + dci->pdsch_to_harq_feedback_timing_indicator.val > DURATION_RX_TO_TX, AssertFatal(1 + dci->pdsch_to_harq_feedback_timing_indicator.val > DURATION_RX_TO_TX,
"PDSCH to HARQ feedback time (%d) needs to be higher than DURATION_RX_TO_TX (%d).\n", "PDSCH to HARQ feedback time (%d) needs to be higher than DURATION_RX_TO_TX (%d).\n",
1 + dci->pdsch_to_harq_feedback_timing_indicator.val, 1 + dci->pdsch_to_harq_feedback_timing_indicator.val,
DURATION_RX_TO_TX); DURATION_RX_TO_TX);
// set the harq status at MAC for feedback
// set the harq status at MAC for feedback const int tpc[] = {-1, 0, 1, 3};
set_harq_status(mac, set_harq_status(mac,
dci->pucch_resource_indicator, dci->pucch_resource_indicator,
dci->harq_pid, dci->harq_pid,
dlsch_pdu->accumulated_delta_PUCCH, tpc[dci->tpc],
1 + dci->pdsch_to_harq_feedback_timing_indicator.val, 1 + dci->pdsch_to_harq_feedback_timing_indicator.val,
dci->dai[0].val, dci->dai[0].val,
dci_ind->n_CCE, dci_ind->n_CCE,
dci_ind->N_CCE, dci_ind->N_CCE,
frame, frame,
slot); slot);
}
LOG_D(MAC, LOG_D(MAC,
"(nr_ue_procedures.c) rnti = %x dl_config->number_pdus = %d\n", "(nr_ue_procedures.c) rnti = %x dl_config->number_pdus = %d\n",
...@@ -840,7 +840,7 @@ static int nr_ue_process_dci_dl_10(NR_UE_MAC_INST_t *mac, ...@@ -840,7 +840,7 @@ static int nr_ue_process_dci_dl_10(NR_UE_MAC_INST_t *mac,
dlsch_pdu->harq_process_nbr, dlsch_pdu->harq_process_nbr,
dci->dai[0].val, dci->dai[0].val,
dlsch_pdu->scaling_factor_S, dlsch_pdu->scaling_factor_S,
dlsch_pdu->accumulated_delta_PUCCH, dci->tpc,
dci->pucch_resource_indicator, dci->pucch_resource_indicator,
1 + dci->pdsch_to_harq_feedback_timing_indicator.val); 1 + dci->pdsch_to_harq_feedback_timing_indicator.val);
...@@ -1025,8 +1025,6 @@ static int nr_ue_process_dci_dl_11(NR_UE_MAC_INST_t *mac, ...@@ -1025,8 +1025,6 @@ static int nr_ue_process_dci_dl_11(NR_UE_MAC_INST_t *mac,
LOG_E(MAC, "invalid tpc %d\n", dci->tpc); LOG_E(MAC, "invalid tpc %d\n", dci->tpc);
return -1; return -1;
} }
const int tcp[] = {-1, 0, 1, 3};
dlsch_pdu->accumulated_delta_PUCCH = tcp[dci->tpc];
// Sanity check for pucch_resource_indicator value received to check for false DCI. // Sanity check for pucch_resource_indicator value received to check for false DCI.
bool valid = false; bool valid = false;
...@@ -1137,10 +1135,11 @@ static int nr_ue_process_dci_dl_11(NR_UE_MAC_INST_t *mac, ...@@ -1137,10 +1135,11 @@ static int nr_ue_process_dci_dl_11(NR_UE_MAC_INST_t *mac,
DURATION_RX_TO_TX); DURATION_RX_TO_TX);
// set the harq status at MAC for feedback // set the harq status at MAC for feedback
const int tpc[] = {-1, 0, 1, 3};
set_harq_status(mac, set_harq_status(mac,
dci->pucch_resource_indicator, dci->pucch_resource_indicator,
dci->harq_pid, dci->harq_pid,
dlsch_pdu->accumulated_delta_PUCCH, tpc[dci->tpc],
feedback_ti, feedback_ti,
dci->dai[0].val, dci->dai[0].val,
dci_ind->n_CCE, dci_ind->n_CCE,
......
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