diff options
author | Max <msuraev@sysmocom.de> | 2016-09-19 16:17:06 +0200 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2016-10-19 08:23:29 +0000 |
commit | d71e8b32e3e2f9c3856997e945df2eb3afe2937c (patch) | |
tree | f377f00b62586a0e3d448f7bb50cc0f9b3fbad82 /src/osmo-bts-litecell15 | |
parent | 4ea452689d545c455cf9c3ade87a3e2c86bf7771 (diff) |
Use qbit-TA to update Timing Advance
Separate qbit-TA to TA conversion into separate function and use it for
computing and updating Timing Advance.
Note: the code was tested with TA=0 only to make sure it does not
introduce regressions.
Change-Id: I96fdbb20b09fb85fdd9fb6dcf3c25f6bee7f80e4
Fixes: OS#1531
Diffstat (limited to 'src/osmo-bts-litecell15')
-rw-r--r-- | src/osmo-bts-litecell15/lc15_l1_if.c | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index a6358ba5..12a977ba 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -32,6 +32,7 @@ #include <lc15_l1_if.h> #include <gprs_debug.h> #include <pcu_l1_if.h> +#include <bts.h> extern void *tall_pcu_ctx; @@ -204,6 +205,8 @@ static int handle_ph_data_ind(struct lc15l1_hdl *fl1h, data_ind->msgUnitParam.u8Size-1); get_meas(&meas, &data_ind->measParam); + bts_update_tbf_ta("PH-DATA", data_ind->u32Fn, fl1h->trx_no, + data_ind->u8Tn, qta2ta(meas.bto)); switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: @@ -235,31 +238,12 @@ static int handle_ph_data_ind(struct lc15l1_hdl *fl1h, static int handle_ph_ra_ind(struct lc15l1_hdl *fl1h, GsmL1_PhRaInd_t *ra_ind) { - uint8_t acc_delay; - if (ra_ind->measParam.fLinkQuality < MIN_QUAL_RACH) return 0; DEBUGP(DL1IF, "Rx PH-RA.ind"); - - /* check for under/overflow / sign */ - if (ra_ind->measParam.i16BurstTiming < 0) - acc_delay = 0; - else - acc_delay = ra_ind->measParam.i16BurstTiming >> 2; - - LOGP(DL1IF, LOGL_NOTICE, "got (P)RACH request, TA = %u (ignored)\n", - acc_delay); - -#warning "The (P)RACH request is just dropped here" - -#if 0 - if (acc_delay > bts->max_ta) { - LOGP(DL1C, LOGL_INFO, "ignoring RACH request %u > max_ta(%u)\n", - acc_delay, btsb->max_ta); - return 0; - } -#endif + bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, + qta2ta(ra_ind->measParam.i16BurstTiming)); return 0; } |