Lines Matching full:timers
92 * @num_wd_timers: number of rproc watchdog timers
93 * @timers: timer(s) info used by rproc
110 struct omap_rproc_timer *timers; member
262 * timers associated with a rproc (like IPUs which have 2 watchdog timers,
276 struct omap_rproc_timer *timers = oproc->timers; in omap_rproc_watchdog_isr() local
282 if (timers[i].irq > 0 && irq == timers[i].irq) { in omap_rproc_watchdog_isr()
283 wd_timer = &timers[i]; in omap_rproc_watchdog_isr()
301 * omap_rproc_enable_timers() - enable the timers for a remoteproc
305 * This function is used primarily to enable the timers associated with
320 struct omap_rproc_timer *timers = oproc->timers; in omap_rproc_enable_timers() local
333 np = of_parse_phandle(dev->of_node, "ti,timers", i); in omap_rproc_enable_timers()
336 "ti,watchdog-timers", in omap_rproc_enable_timers()
372 timers[i].irq = -1; in omap_rproc_enable_timers()
373 timers[i].timer_ops = timer_ops; in omap_rproc_enable_timers()
374 ret = omap_rproc_request_timer(dev, np, &timers[i]); in omap_rproc_enable_timers()
383 timers[i].irq = omap_rproc_get_timer_irq(&timers[i]); in omap_rproc_enable_timers()
384 if (timers[i].irq < 0) { in omap_rproc_enable_timers()
386 np, timers[i].irq); in omap_rproc_enable_timers()
391 ret = request_irq(timers[i].irq, in omap_rproc_enable_timers()
397 omap_rproc_release_timer(&timers[i]); in omap_rproc_enable_timers()
398 timers[i].odt = NULL; in omap_rproc_enable_timers()
399 timers[i].timer_ops = NULL; in omap_rproc_enable_timers()
400 timers[i].irq = -1; in omap_rproc_enable_timers()
408 ret = omap_rproc_start_timer(&timers[i]); in omap_rproc_enable_timers()
417 omap_rproc_stop_timer(&timers[i]); in omap_rproc_enable_timers()
430 free_irq(timers[i].irq, rproc); in omap_rproc_enable_timers()
431 omap_rproc_release_timer(&timers[i]); in omap_rproc_enable_timers()
432 timers[i].odt = NULL; in omap_rproc_enable_timers()
433 timers[i].timer_ops = NULL; in omap_rproc_enable_timers()
434 timers[i].irq = -1; in omap_rproc_enable_timers()
441 * omap_rproc_disable_timers() - disable the timers for a remoteproc
445 * This function is used primarily to disable the timers associated with
450 * Return: 0 on success or no timers
456 struct omap_rproc_timer *timers = oproc->timers; in omap_rproc_disable_timers() local
463 omap_rproc_stop_timer(&timers[i]); in omap_rproc_disable_timers()
466 free_irq(timers[i].irq, rproc); in omap_rproc_disable_timers()
467 omap_rproc_release_timer(&timers[i]); in omap_rproc_disable_timers()
468 timers[i].odt = NULL; in omap_rproc_disable_timers()
469 timers[i].timer_ops = NULL; in omap_rproc_disable_timers()
470 timers[i].irq = -1; in omap_rproc_disable_timers()
822 dev_err(dev, "disabling timers during suspend failed %d\n", in _omap_rproc_suspend()
881 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()