Remove nr_mac_update_RA()
There is no point in updating RA, when we update the CellGroupConfig. We simply drop this function, therefore
This commit is contained in:
@@ -653,58 +653,7 @@ bool nr_mac_update_cellgroup(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupCon
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
nr_mac_update_RA(nrmac, rnti, CellGroup);
|
|
||||||
process_CellGroup(CellGroup, &UE->UE_sched_ctrl);
|
process_CellGroup(CellGroup, &UE->UE_sched_ctrl);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool nr_mac_update_RA(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig_t *CellGroup)
|
|
||||||
{
|
|
||||||
// Checking for free RA process
|
|
||||||
NR_COMMON_channels_t *cc = &nrmac->common_channels[0];
|
|
||||||
uint8_t ra_index = 0;
|
|
||||||
for (; ra_index < NR_NB_RA_PROC_MAX; ra_index++) {
|
|
||||||
if ((cc->ra[ra_index].state == RA_IDLE) && (!cc->ra[ra_index].cfra))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (ra_index == NR_NB_RA_PROC_MAX) {
|
|
||||||
LOG_E(NR_MAC, "%s() %s:%d RA processes are not available for CFRA RNTI :%x\n", __FUNCTION__, __FILE__, __LINE__, rnti);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
NR_RA_t *ra = &cc->ra[ra_index];
|
|
||||||
if (CellGroup->spCellConfig && CellGroup->spCellConfig->reconfigurationWithSync
|
|
||||||
&& CellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated != NULL) {
|
|
||||||
if (CellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink->cfra != NULL) {
|
|
||||||
ra->cfra = true;
|
|
||||||
ra->rnti = rnti;
|
|
||||||
ra->CellGroup = CellGroup;
|
|
||||||
struct NR_CFRA *cfra = CellGroup->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink->cfra;
|
|
||||||
uint8_t num_preamble = cfra->resources.choice.ssb->ssb_ResourceList.list.count;
|
|
||||||
ra->preambles.num_preambles = num_preamble;
|
|
||||||
ra->preambles.preamble_list = (uint8_t *)malloc(num_preamble * sizeof(uint8_t));
|
|
||||||
for (int i = 0; i < cc->num_active_ssb; i++) {
|
|
||||||
for (int j = 0; j < num_preamble; j++) {
|
|
||||||
if (cc->ssb_index[i] == cfra->resources.choice.ssb->ssb_ResourceList.list.array[j]->ssb) {
|
|
||||||
// One dedicated preamble for each beam
|
|
||||||
ra->preambles.preamble_list[i] = cfra->resources.choice.ssb->ssb_ResourceList.list.array[j]->ra_PreambleIndex;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ra->cfra = false;
|
|
||||||
ra->rnti = 0;
|
|
||||||
if (ra->preambles.preamble_list == NULL) {
|
|
||||||
ra->preambles.num_preambles = MAX_NUM_NR_PRACH_PREAMBLES;
|
|
||||||
ra->preambles.preamble_list = (uint8_t *)malloc(MAX_NUM_NR_PRACH_PREAMBLES * sizeof(uint8_t));
|
|
||||||
for (int i = 0; i < MAX_NUM_NR_PRACH_PREAMBLES; i++)
|
|
||||||
ra->preambles.preamble_list[i] = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
LOG_I(NR_MAC, "Added new %s process for UE RNTI %04x with initial CellGroup\n", ra->cfra ? "CFRA" : "CBRA", rnti);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ void nr_mac_config_sib1(gNB_MAC_INST *nrmac, NR_BCCH_DL_SCH_Message_t *sib1);
|
|||||||
bool nr_mac_add_test_ue(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig_t *CellGroup);
|
bool nr_mac_add_test_ue(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig_t *CellGroup);
|
||||||
bool nr_mac_prepare_ra_nsa_ue(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig_t *CellGroup);
|
bool nr_mac_prepare_ra_nsa_ue(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig_t *CellGroup);
|
||||||
bool nr_mac_update_cellgroup(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig_t *CellGroup);
|
bool nr_mac_update_cellgroup(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig_t *CellGroup);
|
||||||
bool nr_mac_update_RA(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig_t *CellGroup);
|
|
||||||
|
|
||||||
void clear_nr_nfapi_information(gNB_MAC_INST *gNB,
|
void clear_nr_nfapi_information(gNB_MAC_INST *gNB,
|
||||||
int CC_idP,
|
int CC_idP,
|
||||||
|
|||||||
Reference in New Issue
Block a user