aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-sysmo/l1_if.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2016-07-24 15:24:56 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2016-07-25 22:13:44 +0200
commit090a41f897091f3386b1517d33e12eca4ef5a528 (patch)
treed3b45ecc83662cadc8048761d5427383fb775a75 /src/osmo-bts-sysmo/l1_if.c
parent78458a3811af63829039e327a8f77f74055ae03e (diff)
dyn TS: implement SysmoBTS specifics
For chan_nr_by_sapi(), add GSM_PCHAN_TCH_F_TCH_H_PDCH to pick_pchan(). Add GSM_PCHAN_TCH_F_TCH_H_PDCH to pchan_to_logChComb[] for first pchan initialization. In ts_connect_as(), make sure that callers pass proper "real world" pchan types, i.e. reject the "meta" GSM_PCHAN_TCH_F_TCH_H_PDCH pchan constant. In ts_opstart(), connect as PCHAN_NONE since we will only know the desired pchan when the first RSL chan activ is received. Add GSM_PCHAN_TCH_F_TCH_H_PDCH to lchan_to_GsmL1_SubCh_t(), by using its current "real" pchan mode. Call cb_ts_[dis]connected() unconditionally, i.e. not only for TCH_F_PDCH when a pending flag is set. The cb_ts_[dis]connected() will be a no-op if the pchan type is not dynamic. Change-Id: Iaffd2fc0aa9fc6c4a2acbc534ce6384392e0635b
Diffstat (limited to 'src/osmo-bts-sysmo/l1_if.c')
-rw-r--r--src/osmo-bts-sysmo/l1_if.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/osmo-bts-sysmo/l1_if.c b/src/osmo-bts-sysmo/l1_if.c
index 355507d9..2dcd87e0 100644
--- a/src/osmo-bts-sysmo/l1_if.c
+++ b/src/osmo-bts-sysmo/l1_if.c
@@ -607,11 +607,16 @@ static int handle_mph_time_ind(struct femtol1_hdl *fl1,
static enum gsm_phys_chan_config pick_pchan(struct gsm_bts_trx_ts *ts)
{
- if (ts->pchan != GSM_PCHAN_TCH_F_PDCH)
+ switch (ts->pchan) {
+ case GSM_PCHAN_TCH_F_PDCH:
+ if (ts->flags & TS_F_PDCH_ACTIVE)
+ return GSM_PCHAN_PDCH;
+ return GSM_PCHAN_TCH_F;
+ case GSM_PCHAN_TCH_F_TCH_H_PDCH:
+ return ts->dyn.pchan_is;
+ default:
return ts->pchan;
- if (ts->flags & TS_F_PDCH_ACTIVE)
- return GSM_PCHAN_PDCH;
- return GSM_PCHAN_TCH_F;
+ }
}
static uint8_t chan_nr_by_sapi(struct gsm_bts_trx_ts *ts,