aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/gsm_data.c
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2018-10-22 14:15:19 +0200
committerPhilipp Maier <pmaier@sysmocom.de>2018-10-23 09:50:11 +0200
commit5a63cd62aa3b58d1912b9a635101a2aa32911b0b (patch)
treec28ab7affd39ee127d67718e6ff2b373227a4104 /src/osmo-bsc/gsm_data.c
parentbcbc537e75027413ecef99155d3300298f3579fe (diff)
gsm_data: set meaningful default values for amr modes
The function gsm_bts_alloc() does set default values for the amr rates for a newly allocated bts, but it does not populate the ms_mode and bts_mode flags which contain hysteresis and threshold. Those values are currently set to 0 by default, which does not make much sense. Lets popluate some appropriate default values. - Make sure that .mode .hysteresis and .threshold are populated for MS and BTS in full and halfrate Change-Id: If14843feeeea6584e5991d5c0abb765611dfaa57 Related: OS#3529
Diffstat (limited to 'src/osmo-bsc/gsm_data.c')
-rw-r--r--src/osmo-bsc/gsm_data.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c
index 8d0b83173..08d5bcb73 100644
--- a/src/osmo-bsc/gsm_data.c
+++ b/src/osmo-bsc/gsm_data.c
@@ -900,6 +900,21 @@ struct gsm_bts *gsm_bts_alloc(struct gsm_network *net, uint8_t bts_num)
.m12_2 = 1
};
memcpy(bts->mr_full.gsm48_ie, &mr_cfg, sizeof(bts->mr_full.gsm48_ie));
+ bts->mr_full.ms_mode[0].mode = 1;
+ bts->mr_full.ms_mode[1].mode = 2;
+ bts->mr_full.ms_mode[2].mode = 6;
+ bts->mr_full.ms_mode[3].mode = 7;
+ bts->mr_full.bts_mode[0].mode = 1;
+ bts->mr_full.bts_mode[1].mode = 2;
+ bts->mr_full.bts_mode[2].mode = 6;
+ bts->mr_full.bts_mode[3].mode = 7;
+ for (i = 0; i < 3; i++) {
+ bts->mr_full.ms_mode[i].hysteresis = 8;
+ bts->mr_full.ms_mode[i].threshold = 32;
+ bts->mr_full.bts_mode[i].hysteresis = 8;
+ bts->mr_full.bts_mode[i].threshold = 32;
+ }
+ bts->mr_full.num_modes = 4;
mr_cfg = (struct gsm48_multi_rate_conf) {
.m4_75 = 0,
@@ -912,6 +927,21 @@ struct gsm_bts *gsm_bts_alloc(struct gsm_network *net, uint8_t bts_num)
.m12_2 = 0
};
memcpy(bts->mr_half.gsm48_ie, &mr_cfg, sizeof(bts->mr_half.gsm48_ie));
+ bts->mr_half.ms_mode[0].mode = 1;
+ bts->mr_half.ms_mode[1].mode = 2;
+ bts->mr_half.ms_mode[2].mode = 4;
+ bts->mr_half.ms_mode[3].mode = 5;
+ bts->mr_half.bts_mode[0].mode = 1;
+ bts->mr_half.bts_mode[1].mode = 2;
+ bts->mr_half.bts_mode[2].mode = 4;
+ bts->mr_half.bts_mode[3].mode = 5;
+ for (i = 0; i < 3; i++) {
+ bts->mr_half.ms_mode[i].hysteresis = 8;
+ bts->mr_half.ms_mode[i].threshold = 32;
+ bts->mr_half.bts_mode[i].hysteresis = 8;
+ bts->mr_half.bts_mode[i].threshold = 32;
+ }
+ bts->mr_half.num_modes = 4;
return bts;
}