aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/l1sap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/l1sap.c')
-rw-r--r--src/common/l1sap.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 0debae04..c4f258a6 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -588,6 +588,20 @@ static unsigned int calc_exprd_rach_frames(struct gsm_bts *bts, uint32_t fn)
return rach_frames_expired;
}
+static void l1sap_interf_meas_report(struct gsm_bts *bts)
+{
+ const uint32_t period = bts->interference.intave * 104;
+ struct gsm_bts_trx *trx;
+
+ if (bts->interference.intave == 0)
+ return;
+ if (bts->gsm_time.fn % period != 0)
+ return;
+
+ llist_for_each_entry(trx, &bts->trx_list, list)
+ rsl_tx_rf_res(trx);
+}
+
/* time information received from bts model */
static int l1sap_info_time_ind(struct gsm_bts *bts,
struct osmo_phsap_prim *l1sap,
@@ -620,6 +634,9 @@ static int l1sap_info_time_ind(struct gsm_bts *bts,
bts->load.rach.total += calc_exprd_rach_frames(bts, fn);
}
+ /* Report interference levels to the BSC */
+ l1sap_interf_meas_report(bts);
+
return 0;
}