diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-02-28 14:28:51 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-03-01 23:48:44 +0100 |
commit | 3e7861e937fc63da9a261c76b8468d996112143b (patch) | |
tree | d78300e06f40dd0168fb59f02cf099b4c874064c | |
parent | ea718cc99194007acaf14e01f3e83f357cc8114c (diff) |
Add and use gsmtime scheduler to L1S
-rw-r--r-- | src/target/firmware/layer1/sync.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/target/firmware/layer1/sync.c b/src/target/firmware/layer1/sync.c index d6921ecb..8ad6d96b 100644 --- a/src/target/firmware/layer1/sync.c +++ b/src/target/firmware/layer1/sync.c @@ -45,6 +45,7 @@ #include <layer1/agc.h> #include <layer1/tdma_sched.h> #include <layer1/mframe_sched.h> +#include <layer1/sched_gsmtime.h> #include <layer1/tpu_window.h> #include <layer1/l23_api.h> @@ -391,6 +392,8 @@ static void l1_sync(void) /* schedule new / upcoming TDMA items */ mframe_schedule(l1s.mf_tasks); + /* schedule new / upcoming one-shot events */ + sched_gsmtime_execute(l1s.current_time.fn); tdma_sched_advance(); } @@ -596,6 +599,8 @@ static uint8_t sb_cnt; * actually happened, as it is a "C W W R" task */ #define SB2_LATENCY 2 +extern const struct tdma_sched_item rach_sched_set_ul[]; + static int l1s_sbdet_resp(uint16_t p1, uint16_t attempt) { uint32_t sb; @@ -1078,6 +1083,8 @@ void l1s_init(void) for (i = 0; i < ARRAY_SIZE(l1s.tx_queue); i++) INIT_LLIST_HEAD(&l1s.tx_queue[i]); + sched_gsmtime_init(); + /* register FRAME interrupt as FIQ so it can interrupt normal IRQs */ irq_register_handler(IRQ_TPU_FRAME, &frame_irq); irq_config(IRQ_TPU_FRAME, 1, 1, 0); |