aboutsummaryrefslogtreecommitdiffstats
path: root/src/mslot_class.c
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2018-01-31 15:22:36 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-02-27 22:27:53 +0100
commit74c9d137df3955738d17a8b67c5b2db0b94d4148 (patch)
tree3722bf8cac4c409e67ebb422eb104ac96287c862 /src/mslot_class.c
parent6b1eca5f59d46d19009658cc90aac9fe23cc8b1e (diff)
Simplify TS alloc: separate capacity computation
Move TRX capacity computation into separate function and document it. Change-Id: Ifd88fc7ff818ea2a041eae61c5d457926a0df0f2 Related: OS#2282
Diffstat (limited to 'src/mslot_class.c')
-rw-r--r--src/mslot_class.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mslot_class.c b/src/mslot_class.c
index 1c79a214..87e37ca1 100644
--- a/src/mslot_class.c
+++ b/src/mslot_class.c
@@ -212,3 +212,19 @@ void mslot_fill_rx_mask(uint8_t mslot_class, uint8_t num_tx, uint8_t *rx_mask)
rx_mask[MASK_TT] = (rx_mask[MASK_TT] << 3) | (rx_mask[MASK_TT] >> 5);
rx_mask[MASK_TR] = (rx_mask[MASK_TR] << 3) | (rx_mask[MASK_TR] >> 5);
}
+
+/* look for USF, don't use USF=7 */
+int8_t find_free_usf(uint8_t usf_map)
+{
+ uint8_t usf;
+
+ if (usf_map == (1 << 7) - 1)
+ return -1;
+
+ for (usf = 0; usf < 7; usf++) {
+ if (!(usf_map & (1 << usf)))
+ return usf;
+ }
+
+ return -1;
+}