UE: update pdcch config only after mib read
This commit is contained in:
@@ -2106,8 +2106,8 @@ static void handle_reconfiguration_with_sync(NR_UE_MAC_INST_t *mac,
|
|||||||
configure_common_BWP_ul(mac, bwp_id, scc->uplinkConfigCommon->initialUplinkBWP);
|
configure_common_BWP_ul(mac, bwp_id, scc->uplinkConfigCommon->initialUplinkBWP);
|
||||||
|
|
||||||
// Update PDCCH config as MAC configuration has changed
|
// Update PDCCH config as MAC configuration has changed
|
||||||
if (IS_SA_MODE(get_softmodem_params()))
|
// Used only in SA mode.
|
||||||
update_pdcch_config(mac);
|
mac->update_pdcch_config = IS_SA_MODE(get_softmodem_params());
|
||||||
}
|
}
|
||||||
|
|
||||||
mac->state = UE_NOT_SYNC_RECONF;
|
mac->state = UE_NOT_SYNC_RECONF;
|
||||||
|
|||||||
@@ -639,6 +639,9 @@ typedef struct NR_UE_MAC_INST_s {
|
|||||||
pthread_mutex_t if_mutex;
|
pthread_mutex_t if_mutex;
|
||||||
ue_mac_stats_t stats;
|
ue_mac_stats_t stats;
|
||||||
notifiedFIFO_t input_nf;
|
notifiedFIFO_t input_nf;
|
||||||
|
// set when mac configuration changes during reconf with sync
|
||||||
|
// reset when pdcch config is changed after pbch read after reconf
|
||||||
|
bool update_pdcch_config;
|
||||||
} NR_UE_MAC_INST_t;
|
} NR_UE_MAC_INST_t;
|
||||||
|
|
||||||
static inline int GET_NTN_UE_K_OFFSET(const fapi_nr_ntn_config_t *ntn_ta, int scs)
|
static inline int GET_NTN_UE_K_OFFSET(const fapi_nr_ntn_config_t *ntn_ta, int scs)
|
||||||
|
|||||||
@@ -461,8 +461,11 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
|
|||||||
NR_BWP_PDCCH_t *pdcch_config = &mac->config_BWP_PDCCH[dl_bwp_id];
|
NR_BWP_PDCCH_t *pdcch_config = &mac->config_BWP_PDCCH[dl_bwp_id];
|
||||||
int scs = current_DL_BWP ? current_DL_BWP->scs : mac->numerology;
|
int scs = current_DL_BWP ? current_DL_BWP->scs : mac->numerology;
|
||||||
const int slots_per_frame = get_slots_per_frame_from_scs(scs);
|
const int slots_per_frame = get_slots_per_frame_from_scs(scs);
|
||||||
if (mac->get_sib1) {
|
if (mac->get_sib1 || mac->update_pdcch_config) {
|
||||||
update_pdcch_config(mac);
|
update_pdcch_config(mac);
|
||||||
|
mac->update_pdcch_config = false;
|
||||||
|
}
|
||||||
|
if (mac->get_sib1) {
|
||||||
bool is_occasion = is_ss_monitor_occasion(frame, slot, slots_per_frame, mac->search_space_zero);
|
bool is_occasion = is_ss_monitor_occasion(frame, slot, slots_per_frame, mac->search_space_zero);
|
||||||
if (is_occasion) {
|
if (is_occasion) {
|
||||||
LOG_D(NR_MAC_DCI, "Monitoring DCI for SIB1 in frame %d slot %d\n", frame, slot);
|
LOG_D(NR_MAC_DCI, "Monitoring DCI for SIB1 in frame %d slot %d\n", frame, slot);
|
||||||
|
|||||||
Reference in New Issue
Block a user