Lines Matching refs:tmr

27 nvkm_timer_read(struct nvkm_timer *tmr)  in nvkm_timer_read()  argument
29 return tmr->func->read(tmr); in nvkm_timer_read()
33 nvkm_timer_alarm_trigger(struct nvkm_timer *tmr) in nvkm_timer_alarm_trigger() argument
40 spin_lock_irqsave(&tmr->lock, flags); in nvkm_timer_alarm_trigger()
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()
47 if (!list_empty(&tmr->alarms)) { 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()
51 tmr->func->alarm_fini(tmr); in nvkm_timer_alarm_trigger()
53 spin_unlock_irqrestore(&tmr->lock, flags); 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()
71 spin_lock_irqsave(&tmr->lock, flags); in nvkm_timer_alarm()
76 list_for_each_entry(list, &tmr->alarms, head) { in nvkm_timer_alarm()
82 spin_unlock_irqrestore(&tmr->lock, flags); in nvkm_timer_alarm()
85 nvkm_timer_alarm_trigger(tmr); in nvkm_timer_alarm()
89 nvkm_timer_alarm_cancel(struct nvkm_timer *tmr, struct nvkm_alarm *alarm) in nvkm_timer_alarm_cancel() argument
92 spin_lock_irqsave(&tmr->lock, flags); in nvkm_timer_alarm_cancel()
94 spin_unlock_irqrestore(&tmr->lock, flags); in nvkm_timer_alarm_cancel()
100 struct nvkm_timer *tmr = nvkm_timer(subdev); in nvkm_timer_intr() local
101 tmr->func->intr(tmr); in nvkm_timer_intr()
107 struct nvkm_timer *tmr = nvkm_timer(subdev); in nvkm_timer_fini() local
108 tmr->func->alarm_fini(tmr); in nvkm_timer_fini()
115 struct nvkm_timer *tmr = nvkm_timer(subdev); in nvkm_timer_init() local
116 if (tmr->func->init) in nvkm_timer_init()
117 tmr->func->init(tmr); in nvkm_timer_init()
118 tmr->func->time(tmr, ktime_to_ns(ktime_get())); in nvkm_timer_init()
119 nvkm_timer_alarm_trigger(tmr); in nvkm_timer_init()
141 struct nvkm_timer *tmr; in nvkm_timer_new_() local
143 if (!(tmr = *ptmr = kzalloc(sizeof(*tmr), GFP_KERNEL))) in nvkm_timer_new_()
146 nvkm_subdev_ctor(&nvkm_timer, device, index, 0, &tmr->subdev); in nvkm_timer_new_()
147 tmr->func = func; in nvkm_timer_new_()
148 INIT_LIST_HEAD(&tmr->alarms); in nvkm_timer_new_()
149 spin_lock_init(&tmr->lock); in nvkm_timer_new_()