pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/24802 )


Change subject: Support SDCCH8 in osmo dyn ts
......................................................................

Support SDCCH8 in osmo dyn ts

Change-Id: Id541dee6c224d2b8d97c07b916085883354cecbc
---
M src/common/bts.c
M src/common/gsm_data.c
M src/common/rsl.c
3 files changed, 19 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/02/24802/1

diff --git a/src/common/bts.c b/src/common/bts.c
index bf29113..32b2fa3 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -371,6 +371,7 @@
        /* features implemented in 'common', available for all models */
        osmo_bts_set_feature(bts->features, BTS_FEAT_ETWS_PN);
        osmo_bts_set_feature(bts->features, BTS_FEAT_IPV6_NSVC);
+       osmo_bts_set_feature(bts->features, BTS_FEAT_DYN_TS_SDCCH8);

        rc = bts_model_init(bts);
        if (rc < 0) {
diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c
index ec6cf93..2b2a180 100644
--- a/src/common/gsm_data.c
+++ b/src/common/gsm_data.c
@@ -382,7 +382,8 @@
        case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(7):
                lch_idx = cbits & 0x7;  /* SDCCH/8 */
                if (ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C &&
-                   ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C_CBCH)
+                   ts->pchan != GSM_PCHAN_SDCCH8_SACCH8C_CBCH &&
+                   ts->pchan != GSM_PCHAN_TCH_F_TCH_H_SDCCH8_SACCH8C_PDCH)
                        ok = false;
                break;
        case ABIS_RSL_CHAN_NR_CBITS_BCCH:
diff --git a/src/common/rsl.c b/src/common/rsl.c
index d922174..0f15be4 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -1425,6 +1425,7 @@
        switch (ts->dyn.pchan_want) {
        case GSM_PCHAN_TCH_F:
        case GSM_PCHAN_TCH_H:
+       case GSM_PCHAN_SDCCH8_SACCH8C:
                break;
        case GSM_PCHAN_PDCH:
                /* Only the first lchan matters for PDCH */
@@ -1448,14 +1449,23 @@

 static enum gsm_phys_chan_config dyn_pchan_from_chan_nr(uint8_t chan_nr)
 {
-       uint8_t cbits = chan_nr & RSL_CHAN_NR_MASK;
+       uint8_t cbits = chan_nr >> 3;
        switch (cbits) {
-       case RSL_CHAN_Bm_ACCHs:
+       case ABIS_RSL_CHAN_NR_CBITS_Bm_ACCHs:
                return GSM_PCHAN_TCH_F;
-       case RSL_CHAN_Lm_ACCHs:
-       case (RSL_CHAN_Lm_ACCHs + RSL_CHAN_NR_1):
+       case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0):
+       case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1):
                return GSM_PCHAN_TCH_H;
-       case RSL_CHAN_OSMO_PDCH:
+       case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0):
+       case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(1):
+       case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(2):
+       case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(3):
+       case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(4):
+       case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(5):
+       case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(6):
+       case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(7):
+               return GSM_PCHAN_SDCCH8_SACCH8C;
+       case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH:
                return GSM_PCHAN_PDCH;
        default:
                LOGP(DRSL, LOGL_ERROR,
@@ -2982,6 +2992,7 @@
        switch (ts->dyn.pchan_want) {
        case GSM_PCHAN_TCH_F:
        case GSM_PCHAN_TCH_H:
+       case GSM_PCHAN_SDCCH8_SACCH8C:
        case GSM_PCHAN_PDCH:
                break;
        default:

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24802
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Id541dee6c224d2b8d97c07b916085883354cecbc
Gerrit-Change-Number: 24802
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to