fixeria has uploaded this change for review.
trxcon/l1sched: refactor l1sched_mframe_layout()
Change-Id: Ie1c3679879ef97d42237d6723d1619ac0ef97f6b
---
M src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
M src/host/trxcon/src/sched_mframe.c
2 files changed, 19 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/16/34216/1
diff --git a/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h b/src/host/trxcon/include/osmocom/bb/l1sched/l1sched.h
index 98282c1..aa5886a 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 @@
};
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 90b7763..0d95e0a 100644
--- a/src/host/trxcon/src/sched_mframe.c
+++ b/src/host/trxcon/src/sched_mframe.c
@@ -2087,15 +2087,15 @@
},
};
-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;
To view, visit change 34216. To unsubscribe, or for help writing mail filters, visit settings.