diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2021-09-21 14:52:05 +0200 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2021-09-23 10:00:24 +0000 |
commit | 7c466d8cc7e49c0636fc18102cec0ccd9afd2b33 (patch) | |
tree | 802770e3565cbbc79585422fac6ed10f99955c3d | |
parent | 32b51eca7d2a5215814db7843b1a0f8c74ea7527 (diff) |
bts-trx: Submit TRX_PROV_EV_CFG_ARFCN for C0 during SetBtsAttr
In oml_rx_set_bts_attr, arfcn for C0 is assigned from NM_ATT_BCCH_ARFCN.
The rest of the TRX get their arfcn from oml_rx_set_radio_attr()
NM_ATT_ARFCN_LIST.
Change-Id: I8aa9652622107fe0a707b2cbcbe8be6c71e19087
-rw-r--r-- | src/osmo-bts-trx/l1_if.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 90adde29..0fedcfc0 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -230,13 +230,20 @@ int bts_model_adjst_ms_pwr(struct gsm_lchan *lchan) /* set bts attributes */ static uint8_t trx_set_bts(struct gsm_bts *bts, struct tlv_parsed *new_attr) { - struct gsm_bts_trx *trx; + struct phy_instance *pinst = trx_phy_instance(bts->c0); + struct trx_l1h *l1h = pinst->u.osmotrx.hdl; uint8_t bsic = bts->bsic; + struct gsm_bts_trx *trx; + struct phy_link *plink; + + /* ARFCN for C0 is assigned during Set BTS Attr, see oml.c */ + osmo_fsm_inst_dispatch(l1h->provision_fi, TRX_PROV_EV_CFG_ARFCN, (void *)(intptr_t)pinst->trx->arfcn); llist_for_each_entry(trx, &bts->trx_list, list) { - struct phy_instance *pinst = trx_phy_instance(trx); - struct phy_link *plink = pinst->phy_link; - struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + pinst = trx_phy_instance(trx); + l1h = pinst->u.osmotrx.hdl; + plink = pinst->phy_link; + osmo_fsm_inst_dispatch(l1h->provision_fi, TRX_PROV_EV_CFG_BSIC, (void*)(intptr_t)bsic); check_transceiver_availability_trx(l1h, phy_link_state_get(plink) != PHY_LINK_SHUTDOWN); } @@ -252,7 +259,9 @@ static uint8_t trx_set_trx(struct gsm_bts_trx *trx) struct phy_link *plink = pinst->phy_link; uint16_t arfcn = trx->arfcn; - osmo_fsm_inst_dispatch(l1h->provision_fi, TRX_PROV_EV_CFG_ARFCN, (void*)(intptr_t)arfcn); + /* ARFCN for C0 is assigned during Set BTS Attr, see oml.c */ + if (trx != trx->bts->c0) + osmo_fsm_inst_dispatch(l1h->provision_fi, TRX_PROV_EV_CFG_ARFCN, (void *)(intptr_t)arfcn); /* Begin to ramp up the power if power reduction is set by OML and TRX is already running. Otherwise skip, power ramping will be started |