diff --git a/nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h b/nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h index 1220293e12..3dc6e930b7 100644 --- a/nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h +++ b/nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h @@ -425,7 +425,7 @@ typedef struct { uint8_t num_dci_options; // Num DCIs the UE actually needs to decode (1 or 2) uint8_t dci_length_options[2]; uint8_t dci_format_options[2]; - uint8_t dci_type_options[2]; + uint8_t ss_type_options[2]; } fapi_nr_dl_config_dci_dl_pdu_rel15_t; typedef struct { diff --git a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c index 331a08e1a9..16bdb6e77b 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c +++ b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c @@ -878,7 +878,7 @@ uint8_t nr_dci_decoding_procedure(PHY_VARS_NR_UE *ue, dci_ind->dci_list[dci_ind->number_of_dcis].n_CCE = CCEind; dci_ind->dci_list[dci_ind->number_of_dcis].N_CCE = L; dci_ind->dci_list[dci_ind->number_of_dcis].dci_format = rel15->dci_format_options[k]; - dci_ind->dci_list[dci_ind->number_of_dcis].ss_type = rel15->dci_type_options[k]; + dci_ind->dci_list[dci_ind->number_of_dcis].ss_type = rel15->ss_type_options[k]; dci_ind->dci_list[dci_ind->number_of_dcis].coreset_type = rel15->coreset.CoreSetType; int n_rb, rb_offset; get_coreset_rballoc(rel15->coreset.frequency_domain_resource, &n_rb, &rb_offset); diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c index d0b114cd1f..7055f2729d 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c @@ -134,12 +134,13 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, rel15->coreset.precoder_granularity = coreset->precoderGranularity; // Scrambling RNTI + rel15->coreset.scrambling_rnti = 0; if (coreset->pdcch_DMRS_ScramblingID) { rel15->coreset.pdcch_dmrs_scrambling_id = *coreset->pdcch_DMRS_ScramblingID; - rel15->coreset.scrambling_rnti = mac->crnti; + if (ss->searchSpaceType->present == NR_SearchSpace__searchSpaceType_PR_ue_Specific) + rel15->coreset.scrambling_rnti = mac->crnti; } else { rel15->coreset.pdcch_dmrs_scrambling_id = mac->physCellId; - rel15->coreset.scrambling_rnti = 0; } rel15->num_dci_options = (mac->ra.ra_state == WAIT_RAR || @@ -166,7 +167,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, // loop over RNTI type and configure resource allocation for DCI for (int i = 0; i < rel15->num_dci_options; i++) { - rel15->dci_type_options[i] = ss->searchSpaceType->present; + rel15->ss_type_options[i] = ss->searchSpaceType->present; const int dci_format = rel15->dci_format_options[i]; uint16_t alt_size = 0; if(current_DL_BWP) { diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c index c5326f0b05..8436790578 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c @@ -645,8 +645,8 @@ static void fill_dci_from_dl_config(nr_downlink_indication_t*dl_ind, fapi_nr_dl_ AssertFatal(dl_config->number_pdus < sizeof(dl_config->dl_config_list) / sizeof(dl_config->dl_config_list[0]), "Too many dl_config pdus %d", dl_config->number_pdus); for (int i = 0; i < dl_config->number_pdus; i++) { - LOG_D(PHY, "In %s: filling DCI with a total of %d total DL PDUs (dl_config %p) \n", - __FUNCTION__, dl_config->number_pdus, dl_config); + LOG_D(PHY, "Filling DCI with a total of %d total DL PDUs (dl_config %p) \n", + dl_config->number_pdus, dl_config); fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15_dci = &dl_config->dl_config_list[i].dci_config_pdu.dci_config_rel15; int num_dci_options = rel15_dci->num_dci_options; if (num_dci_options <= 0) @@ -662,14 +662,14 @@ static void fill_dci_from_dl_config(nr_downlink_indication_t*dl_ind, fapi_nr_dl_ "dl_config->number_pdus %d > dci_ind->dci_list array\n", num_dcis); for (int k = 0; k < num_dcis; k++) { LOG_T(NR_PHY, "Received len %d, length options[%d] %d, format assigned %d, format options[%d] %d\n", - dl_ind->dci_ind->dci_list[k].payloadSize, j, rel15_dci->dci_length_options[j], - dl_ind->dci_ind->dci_list[k].dci_format, j, rel15_dci->dci_format_options[j]); + dl_ind->dci_ind->dci_list[k].payloadSize, j, rel15_dci->dci_length_options[j], + dl_ind->dci_ind->dci_list[k].dci_format, j, rel15_dci->dci_format_options[j]); if (rel15_dci->dci_length_options[j] == dl_ind->dci_ind->dci_list[k].payloadSize) { - dl_ind->dci_ind->dci_list[k].dci_format = rel15_dci->dci_format_options[j]; - dl_ind->dci_ind->dci_list[k].ss_type = rel15_dci->dci_type_options[j]; - dl_ind->dci_ind->dci_list[k].coreset_type = rel15_dci->coreset.CoreSetType; - LOG_D(NR_PHY, "format assigned dl_ind->dci_ind->dci_list[k].dci_format %d\n", - dl_ind->dci_ind->dci_list[k].dci_format); + dl_ind->dci_ind->dci_list[k].dci_format = rel15_dci->dci_format_options[j]; + dl_ind->dci_ind->dci_list[k].ss_type = rel15_dci->ss_type_options[j]; + dl_ind->dci_ind->dci_list[k].coreset_type = rel15_dci->coreset.CoreSetType; + LOG_D(NR_PHY, "format assigned dl_ind->dci_ind->dci_list[k].dci_format %d\n", + dl_ind->dci_ind->dci_list[k].dci_format); } } }