mirror of https://github.com/PentHertz/srsLTE.git
consider enb sib config when activating UL 64QAM
This commit is contained in:
parent
bf7c587e4f
commit
b369d6d5d5
|
@ -62,10 +62,9 @@ void ue_cfg_apply_srb_updates(ue_cfg_t& ue_cfg, const srb_to_add_mod_list_l& srb
|
|||
* Adds to sched_interface::ue_cfg_t the changes present in the asn1 RRCReconfiguration message that should
|
||||
* only take effect after the RRCReconfigurationComplete is received
|
||||
*/
|
||||
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
|
||||
const rrc_conn_recfg_r8_ies_s& conn_recfg,
|
||||
const cell_ctxt_dedicated_list& ue_cell_list,
|
||||
const srslte::rrc_ue_capabilities_t& uecaps);
|
||||
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
|
||||
const rrc_conn_recfg_r8_ies_s& conn_recfg,
|
||||
const cell_ctxt_dedicated_list& ue_cell_list);
|
||||
|
||||
/**
|
||||
* Adds to sched_interface::ue_cfg_t the changes present in the asn1 RRCReconfiguration message related to
|
||||
|
@ -73,6 +72,8 @@ void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& u
|
|||
*/
|
||||
void ue_cfg_apply_phy_cfg_ded(ue_cfg_t& ue_cfg, const asn1::rrc::phys_cfg_ded_s& phy_cfg, const rrc_cfg_t& rrc_cfg);
|
||||
|
||||
void ue_cfg_apply_capabilities(ue_cfg_t& ue_cfg, const rrc_cfg_t& rrc_cfg, const srslte::rrc_ue_capabilities_t& uecaps);
|
||||
|
||||
/***************************
|
||||
* MAC Controller class
|
||||
**************************/
|
||||
|
@ -201,7 +202,8 @@ void rrc::ue::mac_controller::handle_con_reconf(const asn1::rrc::rrc_conn_recfg_
|
|||
|
||||
// Store MAC updates that are applied once RRCReconfigurationComplete is received
|
||||
next_sched_ue_cfg = current_sched_ue_cfg;
|
||||
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list, uecaps);
|
||||
ue_cfg_apply_capabilities(next_sched_ue_cfg, *rrc_cfg, uecaps);
|
||||
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list);
|
||||
|
||||
// Temporarily freeze new allocations for DRBs (SRBs are needed to send RRC Reconf Message)
|
||||
set_drb_activation(false);
|
||||
|
@ -248,7 +250,8 @@ void rrc::ue::mac_controller::handle_target_enb_ho_cmd(const asn1::rrc::rrc_conn
|
|||
}
|
||||
|
||||
next_sched_ue_cfg = current_sched_ue_cfg;
|
||||
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list, uecaps);
|
||||
ue_cfg_apply_capabilities(next_sched_ue_cfg, *rrc_cfg, uecaps);
|
||||
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list);
|
||||
|
||||
// Temporarily freeze new allocations for DRBs (SRBs are needed to send RRC Reconf Message)
|
||||
set_drb_activation(false);
|
||||
|
@ -269,7 +272,8 @@ void rrc::ue::mac_controller::handle_intraenb_ho_cmd(const asn1::rrc::rrc_conn_r
|
|||
if (conn_recfg.rr_cfg_ded_present and conn_recfg.rr_cfg_ded.phys_cfg_ded_present) {
|
||||
ue_cfg_apply_phy_cfg_ded(next_sched_ue_cfg, conn_recfg.rr_cfg_ded.phys_cfg_ded, *rrc_cfg);
|
||||
}
|
||||
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list, uecaps);
|
||||
ue_cfg_apply_capabilities(next_sched_ue_cfg, *rrc_cfg, uecaps);
|
||||
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list);
|
||||
|
||||
// Freeze SCells
|
||||
// NOTE: this avoids that the UE receives an HOCmd retx from target cell and do an incorrect RLC-level concatenation
|
||||
|
@ -385,10 +389,9 @@ void ue_cfg_apply_srb_updates(ue_cfg_t& ue_cfg, const srb_to_add_mod_list_l& srb
|
|||
}
|
||||
}
|
||||
|
||||
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
|
||||
const rrc_conn_recfg_r8_ies_s& conn_recfg,
|
||||
const cell_ctxt_dedicated_list& ue_cell_list,
|
||||
const srslte::rrc_ue_capabilities_t& uecaps)
|
||||
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
|
||||
const rrc_conn_recfg_r8_ies_s& conn_recfg,
|
||||
const cell_ctxt_dedicated_list& ue_cell_list)
|
||||
{
|
||||
// Configure RadioResourceConfigDedicated
|
||||
if (conn_recfg.rr_cfg_ded_present) {
|
||||
|
@ -453,11 +456,12 @@ void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& u
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Params non-dependent on Reconf message content
|
||||
if (uecaps.support_ul_64qam) {
|
||||
ue_cfg.support_ul_64qam = true;
|
||||
}
|
||||
void ue_cfg_apply_capabilities(ue_cfg_t& ue_cfg, const rrc_cfg_t& rrc_cfg, const srslte::rrc_ue_capabilities_t& uecaps)
|
||||
{
|
||||
ue_cfg.support_ul_64qam =
|
||||
uecaps.support_ul_64qam and rrc_cfg.sibs[1].sib2().rr_cfg_common.pusch_cfg_common.pusch_cfg_basic.enable64_qam;
|
||||
}
|
||||
|
||||
} // namespace srsenb
|
||||
|
|
Loading…
Reference in New Issue