Lines Matching defs:timer

67 to_ingenic_tcu(struct ingenic_tcu_timer *timer)
69 return container_of(timer, struct ingenic_tcu, timers[timer->cpu]);
80 struct ingenic_tcu_timer *timer = to_ingenic_tcu_timer(evt);
81 struct ingenic_tcu *tcu = to_ingenic_tcu(timer);
83 regmap_write(tcu->map, TCU_REG_TECR, BIT(timer->channel));
91 struct ingenic_tcu_timer *timer = to_ingenic_tcu_timer(evt);
92 struct ingenic_tcu *tcu = to_ingenic_tcu(timer);
97 regmap_write(tcu->map, TCU_REG_TDFRc(timer->channel), next);
98 regmap_write(tcu->map, TCU_REG_TCNTc(timer->channel), 0);
99 regmap_write(tcu->map, TCU_REG_TESR, BIT(timer->channel));
113 struct ingenic_tcu_timer *timer = dev_id;
114 struct ingenic_tcu *tcu = to_ingenic_tcu(timer);
117 regmap_write(tcu->map, TCU_REG_TECR, BIT(timer->channel));
119 if (timer->cevt.event_handler) {
120 csd = &per_cpu(ingenic_cevt_csd, timer->cpu);
121 csd->info = (void *) &timer->cevt;
123 smp_call_function_single_async(timer->cpu, csd);
143 struct ingenic_tcu_timer *timer = &tcu->timers[cpu];
149 timer->clk = ingenic_tcu_get_clock(tcu->np, timer->channel);
150 if (IS_ERR(timer->clk))
151 return PTR_ERR(timer->clk);
153 err = clk_prepare_enable(timer->clk);
157 rate = clk_get_rate(timer->clk);
169 timer_virq = irq_create_mapping(domain, timer->channel);
175 snprintf(timer->name, sizeof(timer->name), "TCU%u", timer->channel);
178 timer->name, timer);
182 timer->cpu = smp_processor_id();
183 timer->cevt.cpumask = cpumask_of(smp_processor_id());
184 timer->cevt.features = CLOCK_EVT_FEAT_ONESHOT;
185 timer->cevt.name = timer->name;
186 timer->cevt.rating = 200;
187 timer->cevt.set_state_shutdown = ingenic_tcu_cevt_set_state_shutdown;
188 timer->cevt.set_next_event = ingenic_tcu_cevt_set_next;
190 clockevents_config_and_register(&timer->cevt, rate, 10, 0xffff);
197 clk_disable_unprepare(timer->clk);
199 clk_put(timer->clk);
236 cs->name = "ingenic-timer";
276 struct ingenic_tcu_timer *timer;
317 timer = &tcu->timers[cpu];
319 timer->cpu = cpu;
320 timer->channel = find_next_zero_bit(&tcu->pwm_channels_mask,
323 last_bit = timer->channel;
417 .name = "ingenic-tcu-timer",