diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2017-07-04 20:55:12 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2017-11-19 17:35:07 +0700 |
commit | 8baa369b239a262251af87d45cd4dfc4bfc5f4db (patch) | |
tree | 73952e36f0dbae179e0fe35e89557a0e8434fa88 /src/host/trxcon/sched_trx.h | |
parent | 2e18fe463176702fd38f933f8691580fbc28cd9d (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.h | 19 |
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); |