Lines Matching defs:handle

241  * @handle: the timer to be started.
246 void mpic_start_timer(struct mpic_timer *handle)
248 struct timer_group_priv *priv = container_of(handle,
249 struct timer_group_priv, timer[handle->num]);
251 clrbits32(&priv->regs[handle->num].gtbcr, TIMER_STOP);
257 * @handle: the timer to be stopped
261 void mpic_stop_timer(struct mpic_timer *handle)
263 struct timer_group_priv *priv = container_of(handle,
264 struct timer_group_priv, timer[handle->num]);
267 setbits32(&priv->regs[handle->num].gtbcr, TIMER_STOP);
269 casc_priv = priv->timer[handle->num].cascade_handle;
271 out_be32(&priv->regs[handle->num].gtccr, 0);
272 out_be32(&priv->regs[handle->num - 1].gtccr, 0);
274 out_be32(&priv->regs[handle->num].gtccr, 0);
281 * @handle: the timer to be selected.
286 void mpic_get_remain_time(struct mpic_timer *handle, time64_t *time)
288 struct timer_group_priv *priv = container_of(handle,
289 struct timer_group_priv, timer[handle->num]);
295 casc_priv = priv->timer[handle->num].cascade_handle;
297 tmp_ticks = in_be32(&priv->regs[handle->num].gtccr);
300 tmp_ticks = in_be32(&priv->regs[handle->num - 1].gtccr);
303 ticks = in_be32(&priv->regs[handle->num].gtccr);
313 * @handle: the timer to be removed.
319 void mpic_free_timer(struct mpic_timer *handle)
321 struct timer_group_priv *priv = container_of(handle,
322 struct timer_group_priv, timer[handle->num]);
327 mpic_stop_timer(handle);
329 casc_priv = priv->timer[handle->num].cascade_handle;
331 free_irq(priv->timer[handle->num].irq, priv->timer[handle->num].dev);
340 priv->timer[handle->num].cascade_handle = NULL;
342 priv->idle |= TIMER_OFFSET(handle->num);
355 * else "handle" on success.