aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx/l1_if.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-07-06 19:56:08 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2020-07-14 11:44:30 +0200
commit1272af452932e00243d6fea5e073228e59a46ed7 (patch)
tree9c587315613ee084421d2e077e75e56545bebfd1 /src/osmo-bts-trx/l1_if.h
parent414d649e01cbe45e81750c7a6fa91cf0de3c18a3 (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.h3
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)
{