Lines Matching full:timers
97 * @num_wd_timers: number of rproc watchdog timers
98 * @timers: timer(s) info used by rproc
115 struct omap_rproc_timer *timers; member
267 * timers associated with a rproc (like IPUs which have 2 watchdog timers,
281 struct omap_rproc_timer *timers = oproc->timers; in omap_rproc_watchdog_isr() local
287 if (timers[i].irq > 0 && irq == timers[i].irq) { in omap_rproc_watchdog_isr()
288 wd_timer = &timers[i]; in omap_rproc_watchdog_isr()
306 * omap_rproc_enable_timers() - enable the timers for a remoteproc
310 * This function is used primarily to enable the timers associated with
325 struct omap_rproc_timer *timers = oproc->timers; in omap_rproc_enable_timers() local
338 np = of_parse_phandle(dev->of_node, "ti,timers", i); in omap_rproc_enable_timers()
341 "ti,watchdog-timers", in omap_rproc_enable_timers()
377 timers[i].irq = -1; in omap_rproc_enable_timers()
378 timers[i].timer_ops = timer_ops; in omap_rproc_enable_timers()
379 ret = omap_rproc_request_timer(dev, np, &timers[i]); in omap_rproc_enable_timers()
388 timers[i].irq = omap_rproc_get_timer_irq(&timers[i]); in omap_rproc_enable_timers()
389 if (timers[i].irq < 0) { in omap_rproc_enable_timers()
391 np, timers[i].irq); in omap_rproc_enable_timers()
396 ret = request_irq(timers[i].irq, in omap_rproc_enable_timers()
402 omap_rproc_release_timer(&timers[i]); in omap_rproc_enable_timers()
403 timers[i].odt = NULL; in omap_rproc_enable_timers()
404 timers[i].timer_ops = NULL; in omap_rproc_enable_timers()
405 timers[i].irq = -1; in omap_rproc_enable_timers()
413 ret = omap_rproc_start_timer(&timers[i]); in omap_rproc_enable_timers()
422 omap_rproc_stop_timer(&timers[i]); in omap_rproc_enable_timers()
435 free_irq(timers[i].irq, rproc); in omap_rproc_enable_timers()
436 omap_rproc_release_timer(&timers[i]); in omap_rproc_enable_timers()
437 timers[i].odt = NULL; in omap_rproc_enable_timers()
438 timers[i].timer_ops = NULL; in omap_rproc_enable_timers()
439 timers[i].irq = -1; in omap_rproc_enable_timers()
446 * omap_rproc_disable_timers() - disable the timers for a remoteproc
450 * This function is used primarily to disable the timers associated with
455 * Return: 0 on success or no timers
461 struct omap_rproc_timer *timers = oproc->timers; in omap_rproc_disable_timers() local
468 omap_rproc_stop_timer(&timers[i]); in omap_rproc_disable_timers()
471 free_irq(timers[i].irq, rproc); in omap_rproc_disable_timers()
472 omap_rproc_release_timer(&timers[i]); in omap_rproc_disable_timers()
473 timers[i].odt = NULL; in omap_rproc_disable_timers()
474 timers[i].timer_ops = NULL; in omap_rproc_disable_timers()
475 timers[i].irq = -1; in omap_rproc_disable_timers()
827 dev_err(dev, "disabling timers during suspend failed %d\n", in _omap_rproc_suspend()
886 dev_err(dev, "enabling timers during resume failed %d\n", ret); in _omap_rproc_resume()
1229 ret = of_count_phandle_with_args(np, "ti,watchdog-timers", NULL); in omap_rproc_count_wdog_timers()
1231 dev_dbg(dev, "device does not have watchdog timers, status = %d\n", in omap_rproc_count_wdog_timers()
1257 oproc->num_timers = of_count_phandle_with_args(np, "ti,timers", NULL); in omap_rproc_of_get_timers()
1259 dev_dbg(dev, "device does not have timers, status = %d\n", in omap_rproc_of_get_timers()
1268 oproc->timers = devm_kcalloc(dev, num_timers, in omap_rproc_of_get_timers()
1269 sizeof(*oproc->timers), in omap_rproc_of_get_timers()
1271 if (!oproc->timers) in omap_rproc_of_get_timers()
1274 dev_dbg(dev, "device has %d tick timers and %d watchdog timers\n", in omap_rproc_of_get_timers()