diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-07-06 19:56:08 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-07-14 11:44:30 +0200 |
commit | 1272af452932e00243d6fea5e073228e59a46ed7 (patch) | |
tree | 9c587315613ee084421d2e077e75e56545bebfd1 /src/osmo-bts-trx/l1_if.h | |
parent | 414d649e01cbe45e81750c7a6fa91cf0de3c18a3 (diff) |
bts-trx: introduce TRX provisioning FSM
With prior code state managing the TRXC side of osmo-bts-trx, there are
plenty o cases (race conditions) where things can go wrong/unexpected,
because there's really no infrastructure to wait and synchronize between
different TRXs (eg wait until all are configured to POWERON), or to
simply keep well known per-trx state regarding lower layers.
In order to fix in the future all of those issues and to sanitize
current code, a new per-trx FSM is introduced, which takes care of
submitting TRXC commands and waiting for response when needed to manage
the state of the TRX.
Related: OS#4364
Change-Id: I2a00c23df15840e33fbb232c9e1dd6db128f63f6
Diffstat (limited to 'src/osmo-bts-trx/l1_if.h')
-rw-r--r-- | src/osmo-bts-trx/l1_if.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index d2fdf06f..07751f21 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -114,6 +114,7 @@ struct trx_l1h { /* transceiver config */ struct trx_config config; + struct osmo_fsm_inst *provision_fi; struct l1sched_trx l1s; }; @@ -122,6 +123,8 @@ struct trx_l1h *trx_l1h_alloc(void *tall_ctx, struct phy_instance *pinst); int l1if_provision_transceiver_trx(struct trx_l1h *l1h); int l1if_mph_time_ind(struct gsm_bts *bts, uint32_t fn); void l1if_trx_set_nominal_power(struct gsm_bts_trx *trx, int nominal_power); +int l1if_trx_start_power_ramp(struct gsm_bts_trx *trx, ramp_compl_cb_t ramp_compl_cb); +enum gsm_phys_chan_config transceiver_chan_type_2_pchan(uint8_t type); static inline struct l1sched_trx *trx_l1sched_hdl(struct gsm_bts_trx *trx) { |