correct use of dataScramblingID for PDSCH at UE
This commit is contained in:
@@ -494,6 +494,7 @@ typedef struct {
|
||||
uint32_t tbslbrm;
|
||||
uint8_t nscid;
|
||||
uint16_t dlDmrsScramblingId;
|
||||
uint16_t dlDataScramblingId;
|
||||
uint16_t pduBitmap;
|
||||
uint32_t k1_feedback;
|
||||
uint8_t ldpcBaseGraph;
|
||||
|
||||
@@ -691,7 +691,7 @@ static bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue, const UE_nr_rxtx_proc_t *
|
||||
nr_dlsch_unscrambling(llr[0],
|
||||
dl_harq0->G,
|
||||
0,
|
||||
ue->frame_parms.Nid_cell,
|
||||
dlsch[0].dlsch_config.dlDataScramblingId,
|
||||
dlsch[0].rnti);
|
||||
|
||||
|
||||
@@ -787,7 +787,7 @@ static bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue, const UE_nr_rxtx_proc_t *
|
||||
nr_dlsch_unscrambling(llr[1],
|
||||
dl_harq1->G,
|
||||
0,
|
||||
ue->frame_parms.Nid_cell,
|
||||
dlsch[1].dlsch_config.dlDataScramblingId,
|
||||
dlsch[1].rnti);
|
||||
stop_meas(&ue->dlsch_unscrambling_stats);
|
||||
|
||||
|
||||
@@ -189,10 +189,8 @@ int get_rnti_type(const NR_UE_MAC_INST_t *mac, const uint16_t rnti)
|
||||
} else {
|
||||
AssertFatal(1 == 0, "Not identified/handled rnti %d \n", rnti);
|
||||
}
|
||||
|
||||
LOG_D(MAC, "Returning rnti_type %s \n", rnti_types(rnti_type));
|
||||
|
||||
return rnti_type;
|
||||
LOG_D(MAC, "Returning rnti_type %s \n", rnti_types(rnti_type));
|
||||
return rnti_type;
|
||||
}
|
||||
|
||||
void nr_ue_decode_mib(NR_UE_MAC_INST_t *mac, int cc_id)
|
||||
@@ -664,6 +662,13 @@ static int nr_ue_process_dci_dl_10(NR_UE_MAC_INST_t *mac,
|
||||
else
|
||||
dlsch_pdu->dlDmrsScramblingId = mac->physCellId;
|
||||
|
||||
if (get_rnti_type(mac, dci_ind->rnti) == TYPE_C_RNTI_
|
||||
&& dci_ind->ss_type != NR_SearchSpace__searchSpaceType_PR_common
|
||||
&& pdsch_config->dataScramblingIdentityPDSCH)
|
||||
dlsch_pdu->dlDataScramblingId = *pdsch_config->dataScramblingIdentityPDSCH;
|
||||
else
|
||||
dlsch_pdu->dlDataScramblingId = mac->physCellId;
|
||||
|
||||
/* dmrs symbol positions*/
|
||||
dlsch_pdu->dlDmrsSymbPos = fill_dmrs_mask(pdsch_config,
|
||||
NR_DL_DCI_FORMAT_1_0,
|
||||
@@ -975,6 +980,11 @@ static int nr_ue_process_dci_dl_11(NR_UE_MAC_INST_t *mac,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (pdsch_Config->dataScramblingIdentityPDSCH)
|
||||
dlsch_pdu->dlDataScramblingId = *pdsch_Config->dataScramblingIdentityPDSCH;
|
||||
else
|
||||
dlsch_pdu->dlDataScramblingId = mac->physCellId;
|
||||
|
||||
dlsch_pdu->dmrsConfigType = dl_dmrs_config->dmrs_Type == NULL ? NFAPI_NR_DMRS_TYPE1 : NFAPI_NR_DMRS_TYPE2;
|
||||
|
||||
/* TODO: fix number of DM-RS CDM groups without data according to subclause 5.1.6.2 of 3GPP TS 38.214,
|
||||
|
||||
Reference in New Issue
Block a user