aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-10-22 00:33:25 +0300
committerfixeria <vyanitskiy@sysmocom.de>2021-10-25 14:51:21 +0000
commit2e8332d650b022f28bf55c5db8a07d9d5b2987eb (patch)
tree22e7eeee6c2926d02e5d3d028171626340258183
parente50223074e9841aa1ae37f7546ed4a10ff90a305 (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
-rw-r--r--src/common/scheduler.c10
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;
}