diff options
author | Max <msuraev@sysmocom.de> | 2018-02-05 16:11:36 +0100 |
---|---|---|
committer | Max <msuraev@sysmocom.de> | 2018-02-20 10:19:25 +0100 |
commit | c5407c775adf176b127244f6c94ad189b39c2fc7 (patch) | |
tree | 5e4d3b7b91473b5f3a32d22042d4a3e37299c4f0 /src/gprs_rlcmac_ts_alloc.cpp | |
parent | 6dc90b8c86768a9b1beb429c610dcbae6488e21c (diff) |
Simplify TS alloc: don't use PDCH for free TFI
Don't use PDCH from free TFI lookup routine. This allows for simpler
function which can be moved to mslot_class.c alongside with other
similar helpers.
Change-Id: Ie154866900453d232a890f7b9a30911b451525a1
Related: OS#2282
Diffstat (limited to 'src/gprs_rlcmac_ts_alloc.cpp')
-rw-r--r-- | src/gprs_rlcmac_ts_alloc.cpp | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 29e41f5d..6791b037 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -62,23 +62,6 @@ static bool test_and_set_bit(uint32_t *bits, size_t elem) return was_set; } -static inline int8_t find_free_tfi(const struct gprs_rlcmac_pdch *pdch, enum gprs_rlcmac_tbf_direction dir) -{ - uint32_t tfi_map = pdch->assigned_tfi(dir); - int8_t tfi; - - if (tfi_map == NO_FREE_TFI) - return -1; - - /* look for USF, don't use USF=7 */ - for (tfi = 0; tfi < 32; tfi++) { - if (!(tfi_map & (1 << tfi))) - return tfi; - } - - return -1; -} - static int find_possible_pdchs(const struct gprs_rlcmac_trx *trx, size_t max_slots, uint8_t mask, const char *mask_reason = NULL) { @@ -187,7 +170,7 @@ static int find_least_busy_pdch(const struct gprs_rlcmac_trx *trx, enum gprs_rlc /* We have found a candidate */ /* Make sure that a TFI is available */ if (free_tfi) { - tfi = find_free_tfi(pdch, dir); + tfi = find_free_tfi(pdch->assigned_tfi(dir)); if (tfi < 0) { LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, because " |