aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/oml.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2014-12-28 15:18:09 +0100
committerHarald Welte <laforge@gnumonks.org>2014-12-30 00:28:31 +0100
commitb15d2c9d2f8ebe56672ab2191a4dc39d22fa0ab8 (patch)
treeda13c97da8e99f5012c5eb7f4ead00a59398c026 /src/common/oml.c
parent50dc96507caba9480938eb3d9d0db9236f877b49 (diff)
Initial CBCH support
This should handle OML channel combinations with CBCH and activate the CBCH SAPI towards the DSP correspondingly. What is still missing is sending any actual information over the CBCH in respons to the PH-RTS.ind coming up from L1.
Diffstat (limited to 'src/common/oml.c')
-rw-r--r--src/common/oml.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/common/oml.c b/src/common/oml.c
index 65152953..5f9c0a2b 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -601,10 +601,17 @@ static int conf_lchans_for_pchan(struct gsm_bts_trx_ts *ts)
unsigned int i;
switch (ts->pchan) {
+ case GSM_PCHAN_CCCH_SDCCH4_CBCH:
+ /* fallthrough */
case GSM_PCHAN_CCCH_SDCCH4:
for (i = 0; i < 4; i++) {
lchan = &ts->lchan[i];
- lchan->type = GSM_LCHAN_SDCCH;
+ if (ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH
+ && i == 2) {
+ lchan->type = GSM_LCHAN_CBCH;
+ } else {
+ lchan->type = GSM_LCHAN_SDCCH;
+ }
}
/* fallthrough */
case GSM_PCHAN_CCCH:
@@ -621,10 +628,17 @@ static int conf_lchans_for_pchan(struct gsm_bts_trx_ts *ts)
lchan->type = GSM_LCHAN_TCH_H;
}
break;
+ case GSM_PCHAN_SDCCH8_SACCH8C_CBCH:
+ /* fallthrough */
case GSM_PCHAN_SDCCH8_SACCH8C:
for (i = 0; i < 8; i++) {
lchan = &ts->lchan[i];
- lchan->type = GSM_LCHAN_SDCCH;
+ if (ts->pchan == GSM_PCHAN_SDCCH8_SACCH8C_CBCH
+ && i == 2) {
+ lchan->type = GSM_LCHAN_CBCH;
+ } else {
+ lchan->type = GSM_LCHAN_SDCCH;
+ }
}
break;
case GSM_PCHAN_PDCH: