From 3e7861e937fc63da9a261c76b8468d996112143b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 28 Feb 2010 14:28:51 +0100 Subject: Add and use gsmtime scheduler to L1S --- src/target/firmware/layer1/sync.c | 7 +++++++ 1 file changed, 7 insertions(+) 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 #include #include +#include #include #include @@ -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); -- cgit v1.2.3