aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2016-06-16 17:11:27 +0200
committerHarald Welte <laforge@gnumonks.org>2016-06-17 15:50:47 +0000
commit9375aa9a68fd101997c88669d7bf7bb70aa51178 (patch)
treeb2505c126075103aae1789f17bee389f9f68670a
parentbfc9ff3118447fddc6fbe37d50524780504b5c6e (diff)
dyn PDCH: add bts_model_ts_connect() and _disconnect() stubs
Enhance bts_model_ API in preparation of dyn PDCH switching. These will be used to re-connect a TCH/F_PDCH TS in a different mode: either as TCH/F or as PDCH. All implementations so far return -ENOTSUP, and thus will cause a IPAC PDCH ACT or DEACT *NACK* to be sent to the BSC as soon as these messages are handled. Also add stubs in tests. Change-Id: I21e60c028a1333431c3ed000f788b654d1170b0d
-rw-r--r--include/osmo-bts/bts_model.h3
-rw-r--r--src/osmo-bts-litecell15/oml.c11
-rw-r--r--src/osmo-bts-octphy/l1_oml.c11
-rw-r--r--src/osmo-bts-sysmo/oml.c11
-rw-r--r--src/osmo-bts-trx/l1_if.c11
-rw-r--r--tests/handover/handover_test.c2
-rw-r--r--tests/stubs.c7
7 files changed, 56 insertions, 0 deletions
diff --git a/include/osmo-bts/bts_model.h b/include/osmo-bts/bts_model.h
index 6252557..7e2d088 100644
--- a/include/osmo-bts/bts_model.h
+++ b/include/osmo-bts/bts_model.h
@@ -55,4 +55,7 @@ void bts_model_print_help();
void bts_model_phy_link_set_defaults(struct phy_link *plink);
void bts_model_phy_instance_set_defaults(struct phy_instance *pinst);
+int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts);
+int bts_model_ts_connect(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config as_pchan);
+
#endif
diff --git a/src/osmo-bts-litecell15/oml.c b/src/osmo-bts-litecell15/oml.c
index 7aedee1..fa9f601 100644
--- a/src/osmo-bts-litecell15/oml.c
+++ b/src/osmo-bts-litecell15/oml.c
@@ -1764,3 +1764,14 @@ int bts_model_change_power(struct gsm_bts_trx *trx, int p_trxout_mdBm)
{
return l1if_set_txpower(trx_lc15l1_hdl(trx), ((float) p_trxout_mdBm)/1000.0);
}
+
+int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts)
+{
+ return -ENOTSUP;
+}
+
+int bts_model_ts_connect(struct gsm_bts_trx_ts *ts,
+ enum gsm_phys_chan_config as_pchan)
+{
+ return -ENOTSUP;
+}
diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c
index 401201a..c893b04 100644
--- a/src/osmo-bts-octphy/l1_oml.c
+++ b/src/osmo-bts-octphy/l1_oml.c
@@ -1585,3 +1585,14 @@ int bts_model_change_power(struct gsm_bts_trx *trx, int p_trxout_mdBm)
#warning "Implement bts_model_change_power based on TRX_MODIFY_RF_CID"
return 0;
}
+
+int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts)
+{
+ return -ENOTSUP;
+}
+
+int bts_model_ts_connect(struct gsm_bts_trx_ts *ts,
+ enum gsm_phys_chan_config as_pchan)
+{
+ return -ENOTSUP;
+}
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c
index 60ab7a8..5d24bcb 100644
--- a/src/osmo-bts-sysmo/oml.c
+++ b/src/osmo-bts-sysmo/oml.c
@@ -1837,3 +1837,14 @@ int bts_model_change_power(struct gsm_bts_trx *trx, int p_trxout_mdBm)
{
return l1if_set_txpower(trx_femtol1_hdl(trx), ((float) p_trxout_mdBm)/1000.0);
}
+
+int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts)
+{
+ return -ENOTSUP;
+}
+
+int bts_model_ts_connect(struct gsm_bts_trx_ts *ts,
+ enum gsm_phys_chan_config as_pchan)
+{
+ return -ENOTSUP;
+}
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index 8ccba90..59442d9 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -747,3 +747,14 @@ int bts_model_change_power(struct gsm_bts_trx *trx, int p_trxout_mdBm)
LOGP(DL1C, LOGL_NOTICE, "Setting TRX output power not supported!\n");
return 0;
}
+
+int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts)
+{
+ return -ENOTSUP;
+}
+
+int bts_model_ts_connect(struct gsm_bts_trx_ts *ts,
+ enum gsm_phys_chan_config as_pchan)
+{
+ return -ENOTSUP;
+}
diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c
index 8b299d0..e1f4d86 100644
--- a/tests/handover/handover_test.c
+++ b/tests/handover/handover_test.c
@@ -275,3 +275,5 @@ int bts_model_trx_deact_rf(struct gsm_bts_trx *trx) { return 0; }
int bts_model_trx_close(struct gsm_bts_trx *trx) { return 0; }
void trx_get_hlayer1(void) {}
int bts_model_adjst_ms_pwr(struct gsm_lchan *lchan) { return 0; }
+int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts) { return 0; }
+int bts_model_ts_connect(struct gsm_bts_trx_ts *ts, enum gsm_phys_chan_config as_pchan) { return 0; }
diff --git a/tests/stubs.c b/tests/stubs.c
index aeb7014..c680db0 100644
--- a/tests/stubs.c
+++ b/tests/stubs.c
@@ -46,3 +46,10 @@ int bts_model_adjst_ms_pwr(struct gsm_lchan *lchan)
void bts_model_abis_close(struct gsm_bts *bts)
{ }
+
+int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts)
+{ return 0; }
+
+int bts_model_ts_connect(struct gsm_bts_trx_ts *ts,
+ enum gsm_phys_chan_config as_pchan)
+{ return 0; }