diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2023-08-15 01:27:19 +0700 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2023-08-27 16:10:38 +0000 |
commit | 096a3cc6f3e982df09836b70a5adcd57a4b93ab9 (patch) | |
tree | cfbc4e82594a72c07dfef9cd2bc011981b458166 | |
parent | a93785bf437c45131aad0bac52b7c3f3db9ecee3 (diff) |
trxcon/l1sched: refactor l1sched_mframe_layout()
Change-Id: Ie1c3679879ef97d42237d6723d1619ac0ef97f6b
-rw-r--r-- | src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h | 4 | ||||
-rw-r--r-- | src/host/trxcon/src/sched_mframe.c | 16 |
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; |