pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/27946 )
Change subject: paging: Improve calculate_timer_3113() ......................................................................
paging: Improve calculate_timer_3113()
Depends: libosmocore.git Change-Id I6ef085ee92b2064cb46fa5ec3ae98a0ca59ad599 Change-Id: Id7d6bf93537bcef6658ec72e3ebedcedf64690ed --- M src/osmo-bsc/paging.c 1 file changed, 8 insertions(+), 3 deletions(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index 9bc0105..24a3582 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -324,6 +324,7 @@ { unsigned int to_us, to; struct osmo_tdef *d = osmo_tdef_get_entry(bts->network->T_defs, 3113); + unsigned int rach_max_trans, rach_tx_integer, bs_pa_mfrms;
/* Note: d should always contain a valid pointer since all timers, * including 3113 are statically pre-defined in @@ -337,10 +338,14 @@
/* MFRMS defines repeat interval of paging messages for MSs that belong * to same paging group across multiple 51 frame multiframes. - * MAXTRANS defines maximum number of RACH retransmissions. + * MAXTRANS defines maximum number of RACH retransmissions, spread over + * TXINTEGER slots. */ - to_us = GSM51_MFRAME_DURATION_us * (bts->si_common.chan_desc.bs_pa_mfrms + 2) * - bts->si_common.rach_control.max_trans; + rach_max_trans = rach_max_trans_raw2val(bts->si_common.rach_control.max_trans); + rach_tx_integer = rach_tx_integer_raw2val(bts->si_common.rach_control.tx_integer); + bs_pa_mfrms = (bts->si_common.chan_desc.bs_pa_mfrms + 2); + to_us = GSM51_MFRAME_DURATION_us * bs_pa_mfrms + + GSM_TDMA_FN_DURATION_uS * rach_tx_integer * rach_max_trans;
/* ceiling in seconds + extra time */ to = (to_us + 999999) / 1000000 + d->val;
2 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one.