Lines Matching refs:mmtimer
236 struct mmtimer { struct
260 static void mmtimer_add_list(struct mmtimer *n) in mmtimer_add_list()
262 int nodeid = n->timer->it.mmtimer.node; in mmtimer_add_list()
263 unsigned long expires = n->timer->it.mmtimer.expires; in mmtimer_add_list()
266 struct mmtimer *x; in mmtimer_add_list()
273 x = rb_entry(parent, struct mmtimer, list); in mmtimer_add_list()
275 if (expires < x->timer->it.mmtimer.expires) in mmtimer_add_list()
289 struct mmtimer, list)->timer->it.mmtimer.expires) in mmtimer_add_list()
300 struct mmtimer *x; in mmtimer_set_next_timer()
309 x = rb_entry(n->next, struct mmtimer, list); in mmtimer_set_next_timer()
311 if (!t->it.mmtimer.incr) { in mmtimer_set_next_timer()
314 t->it.mmtimer.expires, in mmtimer_set_next_timer()
324 expires = exp = t->it.mmtimer.expires; in mmtimer_set_next_timer()
333 to = ((u64)(expires - exp) / t->it.mmtimer.incr); in mmtimer_set_next_timer()
336 t->it.mmtimer.expires += t->it.mmtimer.incr * to; in mmtimer_set_next_timer()
337 exp = t->it.mmtimer.expires; in mmtimer_set_next_timer()
341 t->it.mmtimer.clock = TIMER_OFF; in mmtimer_set_next_timer()
530 struct mmtimer *base; in mmtimer_interrupt()
533 base = rb_entry(timers[indx].next, struct mmtimer, list); in mmtimer_interrupt()
541 expires = base->timer->it.mmtimer.expires; in mmtimer_interrupt()
558 struct mmtimer *x; in mmtimer_tasklet()
567 x = rb_entry(mn->next, struct mmtimer, list); in mmtimer_tasklet()
570 if (t->it.mmtimer.clock == TIMER_OFF) in mmtimer_tasklet()
581 if(t->it.mmtimer.incr) { in mmtimer_tasklet()
582 t->it.mmtimer.expires += t->it.mmtimer.incr; in mmtimer_tasklet()
586 t->it.mmtimer.clock = TIMER_OFF; in mmtimer_tasklet()
587 t->it.mmtimer.expires = 0; in mmtimer_tasklet()
601 timer->it.mmtimer.clock = TIMER_OFF; in sgi_timer_create()
612 cnodeid_t nodeid = timr->it.mmtimer.node; in sgi_timer_del()
616 if (timr->it.mmtimer.clock != TIMER_OFF) { in sgi_timer_del()
617 unsigned long expires = timr->it.mmtimer.expires; in sgi_timer_del()
619 struct mmtimer *uninitialized_var(t); in sgi_timer_del()
622 timr->it.mmtimer.clock = TIMER_OFF; in sgi_timer_del()
623 timr->it.mmtimer.expires = 0; in sgi_timer_del()
626 t = rb_entry(n, struct mmtimer, list); in sgi_timer_del()
630 if (expires < t->timer->it.mmtimer.expires) in sgi_timer_del()
663 if (timr->it.mmtimer.clock == TIMER_OFF) { in sgi_timer_get()
671 cur_setting->it_interval = ns_to_timespec(timr->it.mmtimer.incr * sgi_clock_period); in sgi_timer_get()
672 cur_setting->it_value = ns_to_timespec((timr->it.mmtimer.expires - rtc_time()) * sgi_clock_period); in sgi_timer_get()
683 struct mmtimer *base; in sgi_timer_set()
697 base = kmalloc(sizeof(struct mmtimer), GFP_KERNEL); in sgi_timer_set()
737 timr->it.mmtimer.clock = TIMER_SET; in sgi_timer_set()
738 timr->it.mmtimer.node = nodeid; in sgi_timer_set()
739 timr->it.mmtimer.incr = period; in sgi_timer_set()
740 timr->it.mmtimer.expires = when; in sgi_timer_set()