summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2023-08-15 01:27:19 +0700
committerfixeria <vyanitskiy@sysmocom.de>2023-08-27 16:10:38 +0000
commit096a3cc6f3e982df09836b70a5adcd57a4b93ab9 (patch)
treecfbc4e82594a72c07dfef9cd2bc011981b458166
parenta93785bf437c45131aad0bac52b7c3f3db9ecee3 (diff)
trxcon/l1sched: refactor l1sched_mframe_layout()
-rw-r--r--src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h4
-rw-r--r--src/host/trxcon/src/sched_mframe.c16
2 files changed, 10 insertions, 10 deletions
diff --git a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
index 7d9a5b50..3f5e8b04 100644
--- a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
+++ b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
@@ -327,8 +327,8 @@ struct l1sched_state {
};
extern const struct l1sched_lchan_desc l1sched_lchan_desc[_L1SCHED_CHAN_MAX];
-const struct l1sched_tdma_multiframe *l1sched_mframe_layout(
- enum gsm_phys_chan_config config, int tn);
+const struct l1sched_tdma_multiframe *
+l1sched_mframe_layout(enum gsm_phys_chan_config config, uint8_t tn);
/* Scheduler management functions */
struct l1sched_state *l1sched_alloc(void *ctx, const struct l1sched_cfg *cfg, void *priv);
diff --git a/src/host/trxcon/src/sched_mframe.c b/src/host/trxcon/src/sched_mframe.c
index 90b7763c..0d95e0ac 100644
--- a/src/host/trxcon/src/sched_mframe.c
+++ b/src/host/trxcon/src/sched_mframe.c
@@ -2087,15 +2087,15 @@ static const struct l1sched_tdma_multiframe layouts[] = {
},
};
-const struct l1sched_tdma_multiframe *l1sched_mframe_layout(
- enum gsm_phys_chan_config config, int tn)
+const struct l1sched_tdma_multiframe *
+l1sched_mframe_layout(enum gsm_phys_chan_config config, uint8_t tn)
{
- int i, ts_allowed;
-
- for (i = 0; i < ARRAY_SIZE(layouts); i++) {
- ts_allowed = layouts[i].slotmask & (0x01 << tn);
- if (layouts[i].chan_config == config && ts_allowed)
- return &layouts[i];
+ for (unsigned int i = 0; i < ARRAY_SIZE(layouts); i++) {
+ if (layouts[i].chan_config != config)
+ continue;
+ if (~layouts[i].slotmask & (1 << tn))
+ continue;
+ return &layouts[i];
}
return NULL;