Lines Matching refs:alarm
46 struct nvkm_alarm *alarm, *atemp; in nv04_timer_alarm_trigger() local
52 list_for_each_entry_safe(alarm, atemp, &priv->alarms, head) { in nv04_timer_alarm_trigger()
53 if (alarm->timestamp <= ptimer->read(ptimer)) in nv04_timer_alarm_trigger()
54 list_move_tail(&alarm->head, &exec); in nv04_timer_alarm_trigger()
59 alarm = list_first_entry(&priv->alarms, typeof(*alarm), head); in nv04_timer_alarm_trigger()
60 nv_wr32(priv, NV04_PTIMER_ALARM_0, alarm->timestamp); in nv04_timer_alarm_trigger()
68 list_for_each_entry_safe(alarm, atemp, &exec, head) { in nv04_timer_alarm_trigger()
69 list_del_init(&alarm->head); in nv04_timer_alarm_trigger()
70 alarm->func(alarm); in nv04_timer_alarm_trigger()
75 nv04_timer_alarm(struct nvkm_timer *ptimer, u64 time, struct nvkm_alarm *alarm) in nv04_timer_alarm() argument
81 alarm->timestamp = ptimer->read(ptimer) + time; in nv04_timer_alarm()
86 if (!list_empty(&alarm->head)) in nv04_timer_alarm()
87 list_del(&alarm->head); in nv04_timer_alarm()
90 if (list->timestamp > alarm->timestamp) in nv04_timer_alarm()
93 list_add_tail(&alarm->head, &list->head); in nv04_timer_alarm()
102 nv04_timer_alarm_cancel(struct nvkm_timer *ptimer, struct nvkm_alarm *alarm) in nv04_timer_alarm_cancel() argument
107 list_del_init(&alarm->head); in nv04_timer_alarm_cancel()
244 priv->base.alarm = nv04_timer_alarm; in nv04_timer_ctor()