diff options
author | Harald Welte <laforge@gnumonks.org> | 2019-01-26 14:02:49 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-02-05 17:46:25 +0100 |
commit | 9c9232c993ad7f56ebeaaa7e7632ce235446b533 (patch) | |
tree | 223a13cd5fe089183983d15545a97220ea949885 | |
parent | 5c205639f19059196e0259a5261f0442aec798fe (diff) |
scheduler_trx: Fix erroneous multiply-by-four
Commit acefd0586e5d463b2e7a6a039131994bc12573fc introduced the "toa256"
resolution change.
Before the change, _sched_compose_ph_data_ind() used quarter-bits as
units, so multiplying the old "toa" value by four made sense.
However, after said change, the value is in 1/256th of bits, and hence
we need to report the toa256 value without any multiply-by-four.
Change-Id: I9f980236ea1cd635cb229290e187747cc8c86d8d
Related: OS#2977
-rw-r--r-- | src/osmo-bts-trx/scheduler_trx.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index fa3aed22..1b0ba730 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -846,7 +846,7 @@ int rx_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, ber10k = compute_ber10k(n_bits_total, n_errors); return _sched_compose_ph_data_ind(l1t, tn, *first_fn, chan, l2, l2_len, *rssi_sum / *rssi_num, - 4 * (*toa256_sum) / *toa_num, 0, ber10k, + *toa256_sum / *toa_num, 0, ber10k, PRES_INFO_UNKNOWN); } @@ -947,7 +947,7 @@ int rx_pdtch_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, } ber10k = compute_ber10k(n_bits_total, n_errors); return _sched_compose_ph_data_ind(l1t, tn, (fn + GSM_HYPERFRAME - 3) % GSM_HYPERFRAME, chan, - l2, rc, *rssi_sum / *rssi_num, 4 * (*toa256_sum) / *toa_num, 0, + l2, rc, *rssi_sum / *rssi_num, *toa256_sum / *toa_num, 0, ber10k, PRES_INFO_BOTH); } @@ -1071,7 +1071,7 @@ int rx_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, if (rc == GSM_MACBLOCK_LEN) { uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); _sched_compose_ph_data_ind(l1t, tn, (fn + GSM_HYPERFRAME - 7) % GSM_HYPERFRAME, chan, - tch_data + amr, GSM_MACBLOCK_LEN, rssi, 4 * toa256, 0, + tch_data + amr, GSM_MACBLOCK_LEN, rssi, toa256, 0, ber10k, PRES_INFO_UNKNOWN); bfi: if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { @@ -1263,7 +1263,7 @@ int rx_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn, uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); _sched_compose_ph_data_ind(l1t, tn, (fn + GSM_HYPERFRAME - 10 - ((fn % 26) >= 19)) % GSM_HYPERFRAME, chan, - tch_data + amr, GSM_MACBLOCK_LEN, rssi, toa256/64, 0, + tch_data + amr, GSM_MACBLOCK_LEN, rssi, toa256, 0, ber10k, PRES_INFO_UNKNOWN); bfi: if (rsl_cmode == RSL_CMOD_SPD_SPEECH) { |