Lines Matching refs:alarm
35 struct nvkm_alarm *alarm, *atemp; in nvkm_timer_alarm_trigger() local
41 list_for_each_entry_safe(alarm, atemp, &tmr->alarms, head) { in nvkm_timer_alarm_trigger()
42 if (alarm->timestamp <= nvkm_timer_read(tmr)) in nvkm_timer_alarm_trigger()
43 list_move_tail(&alarm->head, &exec); in nvkm_timer_alarm_trigger()
48 alarm = list_first_entry(&tmr->alarms, typeof(*alarm), head); in nvkm_timer_alarm_trigger()
49 tmr->func->alarm_init(tmr, alarm->timestamp); in nvkm_timer_alarm_trigger()
56 list_for_each_entry_safe(alarm, atemp, &exec, head) { in nvkm_timer_alarm_trigger()
57 list_del_init(&alarm->head); in nvkm_timer_alarm_trigger()
58 alarm->func(alarm); in nvkm_timer_alarm_trigger()
63 nvkm_timer_alarm(struct nvkm_timer *tmr, u32 nsec, struct nvkm_alarm *alarm) in nvkm_timer_alarm() argument
68 alarm->timestamp = nvkm_timer_read(tmr) + nsec; in nvkm_timer_alarm()
73 if (!list_empty(&alarm->head)) in nvkm_timer_alarm()
74 list_del(&alarm->head); in nvkm_timer_alarm()
77 if (list->timestamp > alarm->timestamp) in nvkm_timer_alarm()
80 list_add_tail(&alarm->head, &list->head); in nvkm_timer_alarm()
89 nvkm_timer_alarm_cancel(struct nvkm_timer *tmr, struct nvkm_alarm *alarm) in nvkm_timer_alarm_cancel() argument
93 list_del_init(&alarm->head); in nvkm_timer_alarm_cancel()