summaryrefslogtreecommitdiffstats
path: root/src/host/trxcon/sched_trx.h
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2017-07-04 20:55:12 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2017-11-19 17:35:07 +0700
commit8baa369b239a262251af87d45cd4dfc4bfc5f4db (patch)
tree73952e36f0dbae179e0fe35e89557a0e8434fa88 /src/host/trxcon/sched_trx.h
parent2e18fe463176702fd38f933f8691580fbc28cd9d (diff)
host/trxcon/scheduler: implement management functions
This change introduces some new functions to configure TDMA scheduler. They can be grouped as follows: - Scheduler management functions - sched_trx_init() - sched_trx_reset() - sched_trx_shutdown() - Timeslot management functions - sched_trx_add_ts() - sched_trx_find_ts() - sched_trx_del_ts() - sched_trx_reset_ts() - sched_trx_configure_ts() - Logical channel management functions - sched_trx_activate_lchan() - sched_trx_deactivate_lchan() - sched_trx_find_lchan() Change-Id: I6d0f437a68f0eb4e22bf635bf899b08673571085
Diffstat (limited to 'src/host/trxcon/sched_trx.h')
-rw-r--r--src/host/trxcon/sched_trx.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h
index 1abd5156..bcb4df99 100644
--- a/src/host/trxcon/sched_trx.h
+++ b/src/host/trxcon/sched_trx.h
@@ -233,3 +233,22 @@ struct trx_ts {
extern const struct trx_lchan_desc trx_lchan_desc[_TRX_CHAN_MAX];
const struct trx_multiframe *sched_mframe_layout(
enum gsm_phys_chan_config config, int ts_num);
+
+/* Scheduler management functions */
+int sched_trx_init(struct trx_instance *trx);
+int sched_trx_reset(struct trx_instance *trx);
+int sched_trx_shutdown(struct trx_instance *trx);
+
+/* Timeslot management functions */
+struct trx_ts *sched_trx_add_ts(struct trx_instance *trx, int ts_num);
+struct trx_ts *sched_trx_find_ts(struct trx_instance *trx, int ts_num);
+void sched_trx_del_ts(struct trx_instance *trx, int ts_num);
+int sched_trx_reset_ts(struct trx_instance *trx, int ts_num);
+int sched_trx_configure_ts(struct trx_instance *trx, int ts_num,
+ enum gsm_phys_chan_config config);
+
+/* Logical channel management functions */
+int sched_trx_activate_lchan(struct trx_ts *ts, enum trx_lchan_type chan);
+int sched_trx_deactivate_lchan(struct trx_ts *ts, enum trx_lchan_type chan);
+struct trx_lchan_state *sched_trx_find_lchan(struct trx_ts *ts,
+ enum trx_lchan_type chan);