diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-11-07 04:59:50 +0300 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2021-11-08 18:30:06 +0000 |
commit | 3b0858f36b1d60d3a5720ed25353e23639aeb287 (patch) | |
tree | be2a64360180fd4b9afffef4430baaa09a8177fb /src/osmo-bsc/abis_rsl.c | |
parent | 447ca13616be0e8540addd531648ddde774908a3 (diff) |
abis_rsl: permit simultaneous ACCH repetition and overpower
As stated in "GSM/EDGE Evolution and Performance", section 12.3,
both features *can* be enabled simultaneously.
Change-Id: I2189f01bd78625dab3d642597240338ee581fc98
Related: SYS#5319
Diffstat (limited to 'src/osmo-bsc/abis_rsl.c')
-rw-r--r-- | src/osmo-bsc/abis_rsl.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 029122475..423c2b8ee 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -555,30 +555,15 @@ static void rep_acch_cap_for_bts(struct gsm_lchan *lchan, /* indicate Temporary overpower of SACCH and FACCH channels */ static void top_acch_cap_for_bts(struct gsm_lchan *lchan, struct msgb *msg) { - struct abis_rsl_osmo_temp_ovp_acch_cap cap; struct gsm_bts *bts = lchan->ts->trx->bts; - bool acch_rep_enabled; - bool acch_rep_supp_by_ms; /* The BTS_FEAT_ACCH_TEMP_OVP IE is a proprietary IE, that can only be used with osmo-bts type BTSs */ if (!(bts->model->type == GSM_BTS_TYPE_OSMOBTS && osmo_bts_has_feature(&bts->features, BTS_FEAT_ACCH_TEMP_OVP))) return; - memcpy(&cap, &bts->temporary_overpower, sizeof(cap)); - - /* The user has enabled one of the two downlink related ACCH repetition features. */ - acch_rep_enabled = bts->repeated_acch_policy.dl_sacch || bts->repeated_acch_policy.dl_facch_all - || bts->repeated_acch_policy.dl_facch_cmd; - - /* The MS indicates support for ACCH repetition */ - acch_rep_supp_by_ms = lchan->conn && lchan->conn->cm3_valid && lchan->conn->cm3.repeated_acch_capability; - - /* If the MS fully supports repeated ACCH capabilites as specified in 3GPP TS 44.006, section 10 and 11. and if - * ACCH repetition is enabled for this BTS, then we will not apply temporary overpower. */ - if (acch_rep_enabled && acch_rep_supp_by_ms) - cap.overpower_db = 0; - - msgb_tlv_put(msg, RSL_IE_OSMO_TEMP_OVP_ACCH_CAP, sizeof(cap), (uint8_t*) &cap); + msgb_tlv_put(msg, RSL_IE_OSMO_TEMP_OVP_ACCH_CAP, + sizeof(bts->temporary_overpower), + (void *)&bts->temporary_overpower); } /* Write RSL_IE_OSMO_TRAINING_SEQUENCE to msgb. The tsc_set argument's range is 1-4, tsc argument range is 0-7. */ |