diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2016-07-21 18:28:30 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2016-07-25 22:13:44 +0200 |
commit | 7b186adb0afcfbf3af1a98e6acc46d17408b3dba (patch) | |
tree | 8ead18cf0f3eaed977962e26c215f263eab3303e /src/osmo-bts-litecell15/l1_if.c | |
parent | b0f77ce68548b90f4252dfee61f96e58e15aa7e3 (diff) |
dyn TS: implement litecell15 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: Ie30323f968da25027045c42a7ae7f1e70ca711ae
Diffstat (limited to 'src/osmo-bts-litecell15/l1_if.c')
-rw-r--r-- | src/osmo-bts-litecell15/l1_if.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/osmo-bts-litecell15/l1_if.c b/src/osmo-bts-litecell15/l1_if.c index 2af24813..0e4c24ba 100644 --- a/src/osmo-bts-litecell15/l1_if.c +++ b/src/osmo-bts-litecell15/l1_if.c @@ -611,11 +611,16 @@ static int handle_mph_time_ind(struct lc15l1_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, |