Lines Matching defs:clockevent
68 to_davinci_clockevent(struct clock_event_device *clockevent)
70 return container_of(clockevent, struct davinci_clockevent, dev);
74 davinci_clockevent_read(struct davinci_clockevent *clockevent,
77 return readl_relaxed(clockevent->base + reg);
80 static void davinci_clockevent_write(struct davinci_clockevent *clockevent,
83 writel_relaxed(val, clockevent->base + reg);
118 struct davinci_clockevent *clockevent;
120 clockevent = to_davinci_clockevent(dev);
122 davinci_tim12_shutdown(clockevent->base);
129 struct davinci_clockevent *clockevent = to_davinci_clockevent(dev);
131 davinci_clockevent_write(clockevent, DAVINCI_TIMER_REG_TIM12, 0x0);
133 davinci_tim12_set_oneshot(clockevent->base);
142 struct davinci_clockevent *clockevent = to_davinci_clockevent(dev);
146 davinci_clockevent_write(clockevent, DAVINCI_TIMER_REG_TIM12, 0x0);
147 davinci_clockevent_write(clockevent, DAVINCI_TIMER_REG_PRD12, cycles);
158 struct davinci_clockevent *clockevent = to_davinci_clockevent(dev);
161 curr_time = davinci_clockevent_read(clockevent,
163 davinci_clockevent_write(clockevent,
164 clockevent->cmp_off, curr_time + cycles);
171 struct davinci_clockevent *clockevent = data;
173 if (!clockevent_state_oneshot(&clockevent->dev))
174 davinci_tim12_shutdown(clockevent->base);
176 clockevent->dev.event_handler(&clockevent->dev);
193 * Standard use-case: we're using tim12 for clockevent and tim34 for
213 * both clocksource and clockevent. We set tim12 to periodic and don't touch
246 struct davinci_clockevent *clockevent;
275 clockevent = kzalloc(sizeof(*clockevent), GFP_KERNEL);
276 if (!clockevent) {
281 clockevent->dev.name = "tim12";
282 clockevent->dev.features = CLOCK_EVT_FEAT_ONESHOT;
283 clockevent->dev.cpumask = cpumask_of(0);
284 clockevent->base = base;
287 clockevent->cmp_off = timer_cfg->cmp_off;
288 clockevent->dev.set_next_event =
291 clockevent->dev.set_next_event =
293 clockevent->dev.set_state_oneshot =
295 clockevent->dev.set_state_shutdown =
301 "clockevent/tim12", clockevent);
303 pr_err("Unable to request the clockevent interrupt\n");
324 clockevents_config_and_register(&clockevent->dev, tick_rate,
341 clockevent);
343 kfree(clockevent);