diff options
Diffstat (limited to 'src/common/l1sap.c')
-rw-r--r-- | src/common/l1sap.c | 17 |
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; } |