diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-10-22 00:33:25 +0300 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2021-10-25 14:51:21 +0000 |
commit | 2e8332d650b022f28bf55c5db8a07d9d5b2987eb (patch) | |
tree | 22e7eeee6c2926d02e5d3d028171626340258183 /src/common/scheduler.c | |
parent | e50223074e9841aa1ae37f7546ed4a10ff90a305 (diff) |
[overpower] scheduler: handle {sacch,facch}_enabled flags
The new [bit-]fields in the RSL_IE_OSMO_TEMP_OVP_ACCH_CAP allow
more fine-grained control over the overpower feature, which
can be enabled:
* for both SACCH and FACCH,
* for SACCH only, or
* for FACCH only.
Change-Id: Iaaab675a20bbefece832d913963c8c5ae32ff80c
Depends: Ia28293a12de0af71f55e701fb65c46e905dae217
Related: SYS#5319
Diffstat (limited to 'src/common/scheduler.c')
-rw-r--r-- | src/common/scheduler.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 463a5b86..a53de098 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1299,17 +1299,17 @@ static void trx_sched_apply_att(const struct gsm_lchan *lchan, struct trx_dl_burst_req *br) { const struct trx_chan_desc *desc = &trx_chan_desc[br->chan]; - const uint8_t overpower_db = lchan->top_acch_cap.overpower_db; /* Current BS power reduction value in dB */ br->att = lchan->bs_power_ctrl.current; /* Temporary Overpower for SACCH/FACCH bursts */ - if (overpower_db == 0) + if (lchan->top_acch_cap.overpower_db == 0) return; - if (desc->link_id == LID_SACCH || br->flags & TRX_BR_F_FACCH) { - if (br->att > overpower_db) - br->att -= overpower_db; + if ((lchan->top_acch_cap.sacch_enable && desc->link_id == LID_SACCH) || + (lchan->top_acch_cap.facch_enable && br->flags & TRX_BR_F_FACCH)) { + if (br->att > lchan->top_acch_cap.overpower_db) + br->att -= lchan->top_acch_cap.overpower_db; else br->att = 0; } |