some fixes for NSA UE
This commit is contained in:
@@ -82,20 +82,32 @@ void init_RA(module_id_t mod_id,
|
|||||||
prach_resources->RA_SCALING_FACTOR_BI = 1;
|
prach_resources->RA_SCALING_FACTOR_BI = 1;
|
||||||
|
|
||||||
struct NR_PDCCH_ConfigCommon__commonSearchSpaceList *commonSearchSpaceList;
|
struct NR_PDCCH_ConfigCommon__commonSearchSpaceList *commonSearchSpaceList;
|
||||||
NR_SearchSpaceId_t ss_id = 0;
|
NR_SearchSpaceId_t *ra_ss;
|
||||||
|
NR_SearchSpaceId_t ss_id = -1;
|
||||||
NR_SearchSpace_t *ss = NULL;
|
NR_SearchSpace_t *ss = NULL;
|
||||||
if(mac->scc) {
|
|
||||||
commonSearchSpaceList = mac->scc->downlinkConfigCommon->initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList;
|
if(mac->scc_SIB) {
|
||||||
ss_id = *mac->scc->downlinkConfigCommon->initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->ra_SearchSpace;
|
commonSearchSpaceList = mac->scc_SIB->downlinkConfigCommon.initialDownlinkBWP.pdcch_ConfigCommon->choice.setup->commonSearchSpaceList;
|
||||||
|
ss_id = *mac->scc_SIB->downlinkConfigCommon.initialDownlinkBWP.pdcch_ConfigCommon->choice.setup->ra_SearchSpace;
|
||||||
}
|
}
|
||||||
else {
|
else{
|
||||||
if(mac->scc_SIB) {
|
if (mac->scc) {
|
||||||
commonSearchSpaceList = mac->scc_SIB->downlinkConfigCommon.initialDownlinkBWP.pdcch_ConfigCommon->choice.setup->commonSearchSpaceList;
|
NR_SearchSpaceId_t *ra_ss = mac->scc->downlinkConfigCommon->initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->ra_SearchSpace;
|
||||||
ss_id = *mac->scc_SIB->downlinkConfigCommon.initialDownlinkBWP.pdcch_ConfigCommon->choice.setup->ra_SearchSpace;
|
if (ra_ss) {
|
||||||
|
commonSearchSpaceList = mac->scc->downlinkConfigCommon->initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList;
|
||||||
|
ss_id = *mac->scc->downlinkConfigCommon->initialDownlinkBWP->pdcch_ConfigCommon->choice.setup->ra_SearchSpace;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ss_id < 0) {
|
||||||
|
ra_ss = mac->DLbwp[0]->bwp_Common->pdcch_ConfigCommon->choice.setup->ra_SearchSpace;
|
||||||
|
if (ra_ss) {
|
||||||
|
commonSearchSpaceList = mac->DLbwp[0]->bwp_Common->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList;
|
||||||
|
ss_id = *mac->DLbwp[0]->bwp_Common->pdcch_ConfigCommon->choice.setup->ra_SearchSpace;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
AssertFatal(1==0,"Both scc and scc_SIB are null\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AssertFatal(ss_id>-1,"Didn't find ra-SearchSpace\n");
|
||||||
AssertFatal(commonSearchSpaceList->list.count > 0, "common SearchSpace list has 0 elements\n");
|
AssertFatal(commonSearchSpaceList->list.count > 0, "common SearchSpace list has 0 elements\n");
|
||||||
// Common searchspace list
|
// Common searchspace list
|
||||||
for (int i = 0; i < commonSearchSpaceList->list.count; i++) {
|
for (int i = 0; i < commonSearchSpaceList->list.count; i++) {
|
||||||
|
|||||||
@@ -430,11 +430,13 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
|
|||||||
}
|
}
|
||||||
else { // use coreset0/ss0
|
else { // use coreset0/ss0
|
||||||
NR_SearchSpace_t *ss0 = mac->search_space_zero;
|
NR_SearchSpace_t *ss0 = mac->search_space_zero;
|
||||||
fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15 = &dl_config->dl_config_list[0].dci_config_pdu.dci_config_rel15;
|
if(ss0) {
|
||||||
rel15->num_dci_options = 1;
|
fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15 = &dl_config->dl_config_list[0].dci_config_pdu.dci_config_rel15;
|
||||||
rel15->dci_format_options[0] = NR_DL_DCI_FORMAT_1_0;
|
rel15->num_dci_options = 1;
|
||||||
config_dci_pdu(mac, rel15, dl_config, NR_RNTI_C , -1);
|
rel15->dci_format_options[0] = NR_DL_DCI_FORMAT_1_0;
|
||||||
fill_dci_search_candidates(ss0, rel15);
|
config_dci_pdu(mac, rel15, dl_config, NR_RNTI_C , -1);
|
||||||
dl_config->number_pdus = 1;
|
fill_dci_search_candidates(ss0, rel15);
|
||||||
|
dl_config->number_pdus = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -545,7 +545,7 @@ void nr_initiate_ra_proc(module_id_t module_idP,
|
|||||||
if (ra->CellGroup && ra->CellGroup->spCellConfig && ra->CellGroup->spCellConfig->spCellConfigDedicated &&
|
if (ra->CellGroup && ra->CellGroup->spCellConfig && ra->CellGroup->spCellConfig->spCellConfigDedicated &&
|
||||||
ra->CellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList) {
|
ra->CellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList) {
|
||||||
ra->bwp_id = 1;
|
ra->bwp_id = 1;
|
||||||
bwp = ra->CellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list.array[ra->bwp_id - 1];
|
bwp = ra->CellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list.array[ra->bwp_id - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1);
|
||||||
|
|||||||
@@ -460,9 +460,11 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
|||||||
|
|
||||||
ASN_SEQUENCE_ADD(&bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list,ss);
|
ASN_SEQUENCE_ADD(&bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->commonSearchSpaceList->list,ss);
|
||||||
|
|
||||||
|
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1=NULL;
|
||||||
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1=calloc(1,sizeof(*bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1));
|
if(get_softmodem_params()->sa) {
|
||||||
*bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1=0;
|
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1=calloc(1,sizeof(*bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1));
|
||||||
|
*bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceSIB1=0;
|
||||||
|
}
|
||||||
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceOtherSystemInformation=NULL;
|
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->searchSpaceOtherSystemInformation=NULL;
|
||||||
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->pagingSearchSpace=NULL;
|
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->pagingSearchSpace=NULL;
|
||||||
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->ra_SearchSpace=calloc(1,sizeof(*bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->ra_SearchSpace));
|
bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->ra_SearchSpace=calloc(1,sizeof(*bwp->bwp_Common->pdcch_ConfigCommon->choice.setup->ra_SearchSpace));
|
||||||
|
|||||||
Reference in New Issue
Block a user