Lines Matching defs:clockevent
67 to_davinci_clockevent(struct clock_event_device *clockevent)
69 return container_of(clockevent, struct davinci_clockevent, dev);
73 davinci_clockevent_read(struct davinci_clockevent *clockevent,
76 return readl_relaxed(clockevent->base + reg);
79 static void davinci_clockevent_write(struct davinci_clockevent *clockevent,
82 writel_relaxed(val, clockevent->base + reg);
117 struct davinci_clockevent *clockevent;
119 clockevent = to_davinci_clockevent(dev);
121 davinci_tim12_shutdown(clockevent->base);
128 struct davinci_clockevent *clockevent = to_davinci_clockevent(dev);
130 davinci_clockevent_write(clockevent, DAVINCI_TIMER_REG_TIM12, 0x0);
132 davinci_tim12_set_oneshot(clockevent->base);
141 struct davinci_clockevent *clockevent = to_davinci_clockevent(dev);
145 davinci_clockevent_write(clockevent, DAVINCI_TIMER_REG_TIM12, 0x0);
146 davinci_clockevent_write(clockevent, DAVINCI_TIMER_REG_PRD12, cycles);
157 struct davinci_clockevent *clockevent = to_davinci_clockevent(dev);
160 curr_time = davinci_clockevent_read(clockevent,
162 davinci_clockevent_write(clockevent,
163 clockevent->cmp_off, curr_time + cycles);
170 struct davinci_clockevent *clockevent = data;
172 if (!clockevent_state_oneshot(&clockevent->dev))
173 davinci_tim12_shutdown(clockevent->base);
175 clockevent->dev.event_handler(&clockevent->dev);
192 * Standard use-case: we're using tim12 for clockevent and tim34 for
212 * both clocksource and clockevent. We set tim12 to periodic and don't touch
245 struct davinci_clockevent *clockevent;
274 clockevent = kzalloc(sizeof(*clockevent), GFP_KERNEL);
275 if (!clockevent) {
280 clockevent->dev.name = "tim12";
281 clockevent->dev.features = CLOCK_EVT_FEAT_ONESHOT;
282 clockevent->dev.cpumask = cpumask_of(0);
283 clockevent->base = base;
286 clockevent->cmp_off = timer_cfg->cmp_off;
287 clockevent->dev.set_next_event =
290 clockevent->dev.set_next_event =
292 clockevent->dev.set_state_oneshot =
294 clockevent->dev.set_state_shutdown =
300 "clockevent/tim12", clockevent);
302 pr_err("Unable to request the clockevent interrupt\n");
323 clockevents_config_and_register(&clockevent->dev, tick_rate,
340 clockevent);
342 kfree(clockevent);