aboutsummaryrefslogtreecommitdiffstats
path: root/src/gprs_rlcmac_ts_alloc.cpp
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2018-02-05 16:11:36 +0100
committerMax <msuraev@sysmocom.de>2018-02-20 10:19:25 +0100
commitc5407c775adf176b127244f6c94ad189b39c2fc7 (patch)
tree5e4d3b7b91473b5f3a32d22042d4a3e37299c4f0 /src/gprs_rlcmac_ts_alloc.cpp
parent6dc90b8c86768a9b1beb429c610dcbae6488e21c (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.cpp19
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 "