Commit 296357fe authored by luis_pereira87's avatar luis_pereira87

BWP fixes

parent 20b6ee70
......@@ -372,7 +372,8 @@ void prepare_scd(NR_ServingCellConfig_t *scd) {
scd->firstActiveDownlinkBWP_Id = CALLOC(1, sizeof(*scd->firstActiveDownlinkBWP_Id));
*scd->firstActiveDownlinkBWP_Id = 1;
*scd->uplinkConfig->firstActiveUplinkBWP_Id = 1;
scd->defaultDownlinkBWP_Id = CALLOC(1, sizeof(*scd->defaultDownlinkBWP_Id));
*scd->defaultDownlinkBWP_Id = 0;
for (int j = 0 ;j < 4 ; j++)
{
......
......@@ -467,10 +467,10 @@ void config_bwp_ue(NR_UE_MAC_INST_t *mac, uint16_t *bwp_ind, uint8_t *dci_format
if (bwp_ind && dci_format){
switch(*dci_format){
case NR_UL_DCI_FORMAT_0_1:
mac->UL_BWP_Id = n_ubwp < 4 ? *bwp_ind : *bwp_ind + 1;;
mac->UL_BWP_Id = n_ubwp < 4 ? *bwp_ind : *bwp_ind + 1;
break;
case NR_DL_DCI_FORMAT_1_1:
mac->DL_BWP_Id = n_ubwp < 4 ? *bwp_ind : *bwp_ind + 1;;
mac->DL_BWP_Id = n_ubwp < 4 ? *bwp_ind : *bwp_ind + 1;
break;
default:
LOG_E(MAC, "In %s: failed to configure BWP Id from DCI with format %d \n", __FUNCTION__, *dci_format);
......@@ -587,7 +587,7 @@ void configure_ss_coreset(NR_UE_MAC_INST_t *mac,
AssertFatal(ss->searchSpaceType != NULL, "ss->searchSpaceType is null\n");
AssertFatal(ss->monitoringSymbolsWithinSlot != NULL, "NR_SearchSpace->monitoringSymbolsWithinSlot is null\n");
AssertFatal(ss->monitoringSymbolsWithinSlot->buf != NULL, "NR_SearchSpace->monitoringSymbolsWithinSlot->buf is null\n");
mac->SSpace[dl_bwp_id][ss->searchSpaceId - 1] = ss;
mac->SSpace[dl_bwp_id-1][ss->searchSpaceId - 1] = ss;
}
struct NR_PDCCH_ConfigCommon__commonSearchSpaceList *commonSearchSpaceList = pdcch_ConfigCommon->choice.setup->commonSearchSpaceList;
......@@ -602,7 +602,7 @@ void configure_ss_coreset(NR_UE_MAC_INST_t *mac,
AssertFatal(css->searchSpaceType != NULL, "css->searchSpaceType is null\n");
AssertFatal(css->monitoringSymbolsWithinSlot != NULL, "css->monitoringSymbolsWithinSlot is null\n");
AssertFatal(css->monitoringSymbolsWithinSlot->buf != NULL, "css->monitoringSymbolsWithinSlot->buf is null\n");
mac->SSpace[dl_bwp_id][css->searchSpaceId - 1] = css;
mac->SSpace[dl_bwp_id-1][css->searchSpaceId - 1] = css;
}
}
......
......@@ -102,7 +102,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_dci_dl_pdu_rel15_t
ss_id,mac->ra.ss->searchSpaceId);
}
else
ss = mac->SSpace[dl_bwp_id][ss_id-1];
ss = mac->SSpace[dl_bwp_id-1][ss_id-1];
}
else
ss = mac->search_space_zero;
......@@ -275,9 +275,9 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
// loop over all available SS for bwp_id
if (bwpd) {
for (ss_id = 1; ss_id <= FAPI_NR_MAX_SS && mac->SSpace[bwp_id][ss_id-1] != NULL; ss_id++){
for (ss_id = 1; ss_id <= FAPI_NR_MAX_SS && mac->SSpace[bwp_id-1][ss_id-1] != NULL; ss_id++){
LOG_D(NR_MAC, "[DCI_CONFIG] ss_id %d\n",ss_id);
NR_SearchSpace_t *ss = mac->SSpace[bwp_id][ss_id-1];
NR_SearchSpace_t *ss = mac->SSpace[bwp_id-1][ss_id-1];
AssertFatal(ss_id == ss->searchSpaceId,"SS IDs don't correspond\n");
fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15 = &dl_config->dl_config_list[dl_config->number_pdus].dci_config_pdu.dci_config_rel15;
NR_SetupRelease_PDCCH_ConfigCommon_t *pdcch_ConfigCommon = bwp_Common->pdcch_ConfigCommon;
......
......@@ -1022,8 +1022,8 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
* 47 DMRS_SEQ_INI:
*/
if (dci->bwp_indicator.val > 1) {
LOG_W(NR_MAC,"[%d.%d] bwp_indicator %d > 1 Possibly due to false DCI. Ignoring DCI!\n", frame, slot,dci->bwp_indicator.val);
if (dci->bwp_indicator.val > 4) {
LOG_W(NR_MAC,"[%d.%d] bwp_indicator %d > 4 Possibly due to false DCI. Ignoring DCI!\n", frame, slot,dci->bwp_indicator.val);
return -1;
}
config_bwp_ue(mac, &dci->bwp_indicator.val, &dci_format);
......
......@@ -679,14 +679,17 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
ASN_SEQUENCE_ADD(&secondaryCellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list,bwp);
}
if (!servingcellconfigdedicated) {
if (!servingcellconfigdedicated) {
secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id=calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id));
*secondaryCellGroup->spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id=1;
}
secondaryCellGroup->spCellConfig->spCellConfigDedicated->bwp_InactivityTimer = NULL;
secondaryCellGroup->spCellConfig->spCellConfigDedicated->defaultDownlinkBWP_Id = NULL;
if (!servingcellconfigdedicated) {
secondaryCellGroup->spCellConfig->spCellConfigDedicated->defaultDownlinkBWP_Id = calloc(1, sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->defaultDownlinkBWP_Id));
*secondaryCellGroup->spCellConfig->spCellConfigDedicated->defaultDownlinkBWP_Id = 1;
}
if (!servingcellconfigdedicated) {
secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig=calloc(1,sizeof(*secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig));
......
......@@ -203,7 +203,7 @@ servingCellConfigDedicated = ({
# BWP 4 Configuration
dl_bwp-Id_4 = 4;
dl_bwp4_locationAndBandwidth = 28899; // RBstart=24, L=106
dl_bwp4_locationAndBandwidth = 22299; // RBstart=24, L=82
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_bwp4_subcarrierSpacing = 1;
......@@ -241,7 +241,7 @@ servingCellConfigDedicated = ({
# BWP 4 Configuration
ul_bwp-Id_4 = 4;
ul_bwp4_locationAndBandwidth = 28899; // RBstart=24, L=106
ul_bwp4_locationAndBandwidth = 22299; // RBstart=24, L=82
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_bwp4_subcarrierSpacing = 1;
......
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