aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmo-bts/bts_trx.h
AgeCommit message (Collapse)AuthorFilesLines
2021-09-14Support configuring TA loop SACCH block ratePau Espin Pedrol1-0/+1
Similar to what is already provided for power control loops. However, there's no existing way to communicate TA control parameters from the BSC to the BTS, so implement them locally in BTS vty. Related: SYS#5371 Change-Id: I9fa71f836bb9a79b0ef2567bfcfdf38ff217840b
2021-06-05[VAMOS] Implement the concept of 'shadow' timeslotsVadim Yanitskiy1-0/+1
Change-Id: I48b44b4df9ffb1cca105aebbd868c29b21f3b1d6 Depends: Ia0bd8695a3f12331b696fe69117189cdd48b584d Related: SYS#4895, OS#4941
2021-05-11[VAMOS] Merge bts_trx_init() into gsm_bts_trx_alloc()Vadim Yanitskiy1-1/+0
gsm_bts_trx_alloc() already does initialize some fields of the allocated 'struct gsm_bts_trx' instance, and having an additional function for initializing the other fields makes no sense. Note that I intentionally didn't merge a call to bts_model_trx_init() into gsm_bts_trx_alloc(), because this would break some assumptions regarding the order of initialization and cause regressions. This also allows us to not call bts_model_trx_init() from tests. Change-Id: I4aefaf47b05a67ec0c4774c1ee7abcc95e04cc13
2021-05-09[VAMOS] struct gsm_bts_trx: fix the PHY instance pointerVadim Yanitskiy1-3/+2
First of all, there is no reason to use a void pointer because it's always 'struct phy_instance'. Also, no need to encapsulate this pointer into 'role_bts' because there are no other roles in osmo-bts (we used to have shared headers years ago). This commit also fixes a bug in test_sysmobts_auto_band(), where a pointer to 'struct femtol1_hdl' was directly assigned to trx.pinst. Change-Id: I9bd6f0921e0c6bf824d38485486ad78864cbe17e
2021-05-08common/sysinfo: make struct gsm_bts_trx const in num_agch()Vadim Yanitskiy1-1/+1
Change-Id: I776defc7e9699a378c9a03304c63e15d023476d0
2021-05-06struct gsm_bts_trx: remove unused leftovers from openbscVadim Yanitskiy1-7/+0
Change-Id: I667fc1d6a5eaccb69b45197da71d4a699f52fcfc
2021-01-04power_control: check-in new parameters and default valuesVadim Yanitskiy1-0/+2
For the sake of simplicity, the old structures that are still used by MS/BS power control loops are kept in place. Migration to the new structures requires additional changes to the existing power control logic, so it will be done in the follow-up changes. The new parameters are integrated as follows: + struct gsm_bts - a BTS instance: | Hard-coded default (fall-back) parameters for all transceivers. | +-+-> struct gsm_bts_trx - a TRX instance (transceiver): | Default parameters for all logical channels inherited from | 'struct gsm_bts' at start-up. May be overwritten by the | BSC using ip.access specific 'Measurement Pre-processing | Defaults' message on the A-bis/RSL interface. | +---> struct gsm_lchan - a logical channel (e.g. TCH or SDCCH): Connection specific parameters inherited from 'struct gsm_bts_trx'. May be overwritten by parameters sent by the BSC in CHANnel ACTIVation and other messages. Change-Id: I6d41eb238aa6d4f5b77596c5477c2ecbe86de2a8 Related: SYS#4918
2020-10-20Introduce NM Radio Carrier and Baseband Transceiver FSMsPau Espin Pedrol1-3/+9
All the Operative State logic to manage a RadioCarrier//BBTransc NM objects is centralized in these FSM, where other parts of the code simply send events to it. This allows keeping state consistent and offloading logic from each bts backend, since they are only required to submit events now. The idea in the long run is to also replace other NM objects with similar FSMs. This improved logic fixes bug where PHY + RSL link became available before OPSTART and hence op state changed to Enabled before receiving any OPSTART message. Change-Id: Ifb249a821c4270918699b6375a72b3a618e8cfbe
2020-09-17struct gsm_bts_trx[_ts]: remove unused parsed NM attribute listVadim Yanitskiy1-1/+0
This list is already a part of struct gsm_abis_mo. Change-Id: I19b907bea500569c6e7e1b64b50e1c2ee2014f1c
2020-09-17struct gsm_bts_trx: remove unused per-TRX OML Link pointerVadim Yanitskiy1-3/+0
Most likely, this part of the structure was copy-pasted from the corresponding definition in osmo-bsc. In osmo-bts we always establish a single per-BTS OML link, not per-TRX. Change-Id: I1792372de484608e04211c9de4294b3c76173ead
2020-09-15Fix RadioCarrier OML Operative State Change report not sent on some scenariosPau Espin Pedrol1-1/+1
Operative state is mainly maintained based on 2 requirements: * phy_link being in CONNECTED state * RSL connection being up and ready However, state change report triggered over OMl towards BSC was only done upon the first event of the two. That means that if for whatever reason the RSL connection was established AFTER the phy_link became CONNECTED (ie receiving RSP POWERON in osmo-bts-trx), then the status towards the BSC would not be updated and hence the BSC would still see the Radio Carrier object as DISABLED. The trx_set_available() function is renamed to trx_operability_update() to keep the logic conditions in one place, and different events triggering a change in state simply call the function and let it handle the new state. Related: SYS#5063 Change-Id: Ic00df9e7278d42bc10c1e1a1c0edde7e13199299
2020-08-03common: constify the argument of trx_ms_pwr_ctrl_is_osmo()Vadim Yanitskiy1-1/+1
Change-Id: Ic7be19ed1560eae0a56ed30520ee9af1e949d71d
2020-07-14Move struct gsm_bts_trx: gsm_data.* & bts.* => bts_trx.*Pau Espin Pedrol1-0/+65
Move all struct gsm_bts_trx references from bulky gsm_data to its own file containing all related definitions and implementations. Also move a few functions clearly related to that object which were placed in bts.* Change-Id: Iebaf5b221c48b571f45408af867ce6f9c0cd9f4a