Home
last modified time | relevance | path

Searched refs:wdt (Results 1 - 25 of 147) sorted by relevance

123456

/kernel/linux/linux-6.6/drivers/watchdog/
H A Dstarfive-wdt.c146 static int starfive_wdt_enable_clock(struct starfive_wdt *wdt) in starfive_wdt_enable_clock() argument
150 ret = clk_prepare_enable(wdt->apb_clk); in starfive_wdt_enable_clock()
152 return dev_err_probe(wdt->wdd.parent, ret, "failed to enable apb clock\n"); in starfive_wdt_enable_clock()
154 ret = clk_prepare_enable(wdt->core_clk); in starfive_wdt_enable_clock()
156 return dev_err_probe(wdt->wdd.parent, ret, "failed to enable core clock\n"); in starfive_wdt_enable_clock()
161 static void starfive_wdt_disable_clock(struct starfive_wdt *wdt) in starfive_wdt_disable_clock() argument
163 clk_disable_unprepare(wdt->core_clk); in starfive_wdt_disable_clock()
164 clk_disable_unprepare(wdt->apb_clk); in starfive_wdt_disable_clock()
167 static inline int starfive_wdt_get_clock(struct starfive_wdt *wdt) in starfive_wdt_get_clock() argument
169 struct device *dev = wdt in starfive_wdt_get_clock()
198 starfive_wdt_ticks_to_sec(struct starfive_wdt *wdt, u32 ticks) starfive_wdt_ticks_to_sec() argument
219 starfive_wdt_enable_reset(struct starfive_wdt *wdt) starfive_wdt_enable_reset() argument
229 starfive_wdt_raise_irq_status(struct starfive_wdt *wdt) starfive_wdt_raise_irq_status() argument
235 starfive_wdt_wait_int_free(struct starfive_wdt *wdt) starfive_wdt_wait_int_free() argument
245 starfive_wdt_int_clr(struct starfive_wdt *wdt) starfive_wdt_int_clr() argument
260 starfive_wdt_set_count(struct starfive_wdt *wdt, u32 val) starfive_wdt_set_count() argument
265 starfive_wdt_get_count(struct starfive_wdt *wdt) starfive_wdt_get_count() argument
271 starfive_wdt_enable(struct starfive_wdt *wdt) starfive_wdt_enable() argument
281 starfive_wdt_disable(struct starfive_wdt *wdt) starfive_wdt_disable() argument
290 starfive_wdt_set_reload_count(struct starfive_wdt *wdt, u32 count) starfive_wdt_set_reload_count() argument
299 starfive_wdt_max_timeout(struct starfive_wdt *wdt) starfive_wdt_max_timeout() argument
309 struct starfive_wdt *wdt = watchdog_get_drvdata(wdd); starfive_wdt_get_timeleft() local
325 struct starfive_wdt *wdt = watchdog_get_drvdata(wdd); starfive_wdt_keepalive() local
341 starfive_wdt_start(struct starfive_wdt *wdt) starfive_wdt_start() argument
362 starfive_wdt_stop(struct starfive_wdt *wdt) starfive_wdt_stop() argument
371 struct starfive_wdt *wdt = watchdog_get_drvdata(wdd); starfive_wdt_pm_start() local
382 struct starfive_wdt *wdt = watchdog_get_drvdata(wdd); starfive_wdt_pm_stop() local
391 struct starfive_wdt *wdt = watchdog_get_drvdata(wdd); starfive_wdt_set_timeout() local
428 struct starfive_wdt *wdt; starfive_wdt_probe() local
516 struct starfive_wdt *wdt = platform_get_drvdata(pdev); starfive_wdt_remove() local
532 struct starfive_wdt *wdt = platform_get_drvdata(pdev); starfive_wdt_shutdown() local
539 struct starfive_wdt *wdt = dev_get_drvdata(dev); starfive_wdt_suspend() local
552 struct starfive_wdt *wdt = dev_get_drvdata(dev); starfive_wdt_resume() local
569 struct starfive_wdt *wdt = dev_get_drvdata(dev); starfive_wdt_runtime_suspend() local
578 struct starfive_wdt *wdt = dev_get_drvdata(dev); starfive_wdt_runtime_resume() local
[all...]
H A Dat91sam9_wdt.c40 #define wdt_read(wdt, field) \
41 readl_relaxed((wdt)->base + (field))
43 writel_relaxed((val), (wdt)->base + (field))
98 struct at91wdt *wdt = (struct at91wdt *)dev_id; in wdt_interrupt() local
100 if (wdt_read(wdt, AT91_WDT_SR)) { in wdt_interrupt()
112 static inline void at91_wdt_reset(struct at91wdt *wdt) in at91_wdt_reset() argument
114 wdt_write(wdt, AT91_WDT_CR, AT91_WDT_KEY | AT91_WDT_WDRSTT); in at91_wdt_reset()
122 struct at91wdt *wdt = from_timer(wdt, t, timer); in at91_ping() local
123 if (time_before(jiffies, wdt in at91_ping()
134 struct at91wdt *wdt = to_wdt(wdd); at91_wdt_start() local
152 at91_wdt_init(struct platform_device *pdev, struct at91wdt *wdt) at91_wdt_init() argument
265 of_at91wdt_init(struct device_node *np, struct at91wdt *wdt) of_at91wdt_init() argument
321 of_at91wdt_init(struct device_node *np, struct at91wdt *wdt) of_at91wdt_init() argument
330 struct at91wdt *wdt; at91wdt_probe() local
386 struct at91wdt *wdt = platform_get_drvdata(pdev); at91wdt_remove() local
[all...]
H A Dsama5d4_wdt.c51 #define wdt_enabled (!(wdt->mr & AT91_WDT_WDDIS))
53 #define wdt_read(wdt, field) \
54 readl_relaxed((wdt)->reg_base + (field))
59 static void wdt_write(struct sama5d4_wdt *wdt, u32 field, u32 val) in wdt_write() argument
66 while (time_before(jiffies, wdt->last_ping + WDT_DELAY)) in wdt_write()
68 writel_relaxed(val, wdt->reg_base + field); in wdt_write()
69 wdt->last_ping = jiffies; in wdt_write()
72 static void wdt_write_nosleep(struct sama5d4_wdt *wdt, u32 field, u32 val) in wdt_write_nosleep() argument
74 if (time_before(jiffies, wdt->last_ping + WDT_DELAY)) in wdt_write_nosleep()
76 writel_relaxed(val, wdt in wdt_write_nosleep()
82 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_start() local
97 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_stop() local
112 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_ping() local
122 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_set_timeout() local
166 struct sama5d4_wdt *wdt = platform_get_drvdata(dev_id); sama5d4_wdt_irq_handler() local
183 of_sama5d4_wdt_init(struct device_node *np, struct sama5d4_wdt *wdt) of_sama5d4_wdt_init() argument
205 sama5d4_wdt_init(struct sama5d4_wdt *wdt) sama5d4_wdt_init() argument
254 struct sama5d4_wdt *wdt; sama5d4_wdt_probe() local
350 struct sama5d4_wdt *wdt = dev_get_drvdata(dev); sama5d4_wdt_suspend_late() local
360 struct sama5d4_wdt *wdt = dev_get_drvdata(dev); sama5d4_wdt_resume_early() local
[all...]
H A Dsprd_wdt.c84 struct sprd_wdt *wdt = (struct sprd_wdt *)dev_id; in sprd_wdt_isr() local
86 sprd_wdt_unlock(wdt->base); in sprd_wdt_isr()
87 writel_relaxed(SPRD_WDT_INT_CLEAR_BIT, wdt->base + SPRD_WDT_INT_CLR); in sprd_wdt_isr()
88 sprd_wdt_lock(wdt->base); in sprd_wdt_isr()
89 watchdog_notify_pretimeout(&wdt->wdd); in sprd_wdt_isr()
93 static u32 sprd_wdt_get_cnt_value(struct sprd_wdt *wdt) in sprd_wdt_get_cnt_value() argument
97 val = readl_relaxed(wdt->base + SPRD_WDT_CNT_HIGH) << in sprd_wdt_get_cnt_value()
99 val |= readl_relaxed(wdt->base + SPRD_WDT_CNT_LOW) & in sprd_wdt_get_cnt_value()
105 static int sprd_wdt_load_value(struct sprd_wdt *wdt, u32 timeout, in sprd_wdt_load_value() argument
119 val = readl_relaxed(wdt in sprd_wdt_load_value()
144 sprd_wdt_enable(struct sprd_wdt *wdt) sprd_wdt_enable() argument
168 struct sprd_wdt *wdt = _data; sprd_wdt_disable() local
180 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_start() local
200 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_stop() local
215 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_set_timeout() local
228 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_set_pretimeout() local
240 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_get_timeleft() local
267 struct sprd_wdt *wdt; sprd_wdt_probe() local
334 struct sprd_wdt *wdt = dev_get_drvdata(dev); sprd_wdt_pm_suspend() local
345 struct sprd_wdt *wdt = dev_get_drvdata(dev); sprd_wdt_pm_resume() local
[all...]
H A Dsp805_wdt.c3 * drivers/char/watchdog/sp805-wdt.c
36 #define MODULE_NAME "sp805-wdt"
57 * struct sp805_wdt: sp805 wdt device structure
60 * @base: base address of wdt
61 * @clk: (optional) clock structure of wdt
63 * @adev: amba device structure of wdt
64 * @status: current status of wdt
82 /* returns true if wdt is running; otherwise returns false */
85 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); in wdt_is_running() local
86 u32 wdtcontrol = readl_relaxed(wdt in wdt_is_running()
94 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_setload() local
122 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_timeleft() local
139 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_restart() local
154 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_config() local
199 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_disable() local
234 struct sp805_wdt *wdt; sp805_wdt_probe() local
311 struct sp805_wdt *wdt = amba_get_drvdata(adev); sp805_wdt_remove() local
319 struct sp805_wdt *wdt = dev_get_drvdata(dev); sp805_wdt_suspend() local
329 struct sp805_wdt *wdt = dev_get_drvdata(dev); sp805_wdt_resume() local
[all...]
H A Dmei_wdt.c161 * @wdt: mei watchdog device
166 static int mei_wdt_ping(struct mei_wdt *wdt) in mei_wdt_ping() argument
177 req.timeout = wdt->timeout; in mei_wdt_ping()
179 ret = mei_cldev_send(wdt->cldev, (u8 *)&req, req_len); in mei_wdt_ping()
189 * @wdt: mei watchdog device
194 static int mei_wdt_stop(struct mei_wdt *wdt) in mei_wdt_stop() argument
206 ret = mei_cldev_send(wdt->cldev, (u8 *)&req, req_len); in mei_wdt_stop()
222 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); in mei_wdt_ops_start() local
224 wdt->state = MEI_WDT_START; in mei_wdt_ops_start()
225 wdd->timeout = wdt in mei_wdt_ops_start()
238 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); mei_wdt_ops_stop() local
264 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); mei_wdt_ops_ping() local
296 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); mei_wdt_ops_set_timeout() local
329 __mei_wdt_is_registered(struct mei_wdt *wdt) __mei_wdt_is_registered() argument
339 mei_wdt_unregister(struct mei_wdt *wdt) mei_wdt_unregister() argument
359 mei_wdt_register(struct mei_wdt *wdt) mei_wdt_register() argument
400 struct mei_wdt *wdt = container_of(work, struct mei_wdt, unregister); mei_wdt_unregister_work() local
412 struct mei_wdt *wdt = mei_cldev_get_drvdata(cldev); mei_wdt_rx() local
484 struct mei_wdt *wdt = mei_cldev_get_drvdata(cldev); mei_wdt_notif() local
497 struct mei_wdt *wdt = file->private_data; mei_dbgfs_read_activation() local
519 struct mei_wdt *wdt = file->private_data; mei_dbgfs_read_state() local
535 dbgfs_unregister(struct mei_wdt *wdt) dbgfs_unregister() argument
541 dbgfs_register(struct mei_wdt *wdt) dbgfs_register() argument
556 dbgfs_unregister(struct mei_wdt *wdt) dbgfs_unregister() argument
557 dbgfs_register(struct mei_wdt *wdt) dbgfs_register() argument
563 struct mei_wdt *wdt; mei_wdt_probe() local
625 struct mei_wdt *wdt = mei_cldev_get_drvdata(cldev); mei_wdt_remove() local
[all...]
H A Dmlx_wdt.c57 static void mlxreg_wdt_check_card_reset(struct mlxreg_wdt *wdt) in mlxreg_wdt_check_card_reset() argument
63 if (wdt->reset_idx == -EINVAL) in mlxreg_wdt_check_card_reset()
66 if (!(wdt->wdd.info->options & WDIOF_CARDRESET)) in mlxreg_wdt_check_card_reset()
69 reg_data = &wdt->pdata->data[wdt->reset_idx]; in mlxreg_wdt_check_card_reset()
70 rc = regmap_read(wdt->regmap, reg_data->reg, &regval); in mlxreg_wdt_check_card_reset()
73 wdt->wdd.bootstatus = WDIOF_CARDRESET; in mlxreg_wdt_check_card_reset()
74 dev_info(wdt->wdd.parent, in mlxreg_wdt_check_card_reset()
82 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); in mlxreg_wdt_start() local
83 struct mlxreg_core_data *reg_data = &wdt in mlxreg_wdt_start()
91 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); mlxreg_wdt_stop() local
100 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); mlxreg_wdt_ping() local
110 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); mlxreg_wdt_set_timeout() local
168 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); mlxreg_wdt_get_timeleft() local
222 mlxreg_wdt_config(struct mlxreg_wdt *wdt, struct mlxreg_core_platform_data *pdata) mlxreg_wdt_config() argument
270 mlxreg_wdt_init_timeout(struct mlxreg_wdt *wdt, struct mlxreg_core_platform_data *pdata) mlxreg_wdt_init_timeout() argument
283 struct mlxreg_wdt *wdt; mlxreg_wdt_probe() local
[all...]
H A Ds3c2410_wdt.c267 { .compatible = "samsung,s3c2410-wdt",
269 { .compatible = "samsung,s3c6410-wdt",
271 { .compatible = "samsung,exynos5250-wdt",
273 { .compatible = "samsung,exynos5420-wdt",
275 { .compatible = "samsung,exynos7-wdt",
277 { .compatible = "samsung,exynos850-wdt",
279 { .compatible = "samsung,exynosautov9-wdt",
288 .name = "s3c2410-wdt",
297 static inline unsigned long s3c2410wdt_get_freq(struct s3c2410_wdt *wdt) in s3c2410wdt_get_freq() argument
299 return clk_get_rate(wdt in s3c2410wdt_get_freq()
302 s3c2410wdt_max_timeout(struct s3c2410_wdt *wdt) s3c2410wdt_max_timeout() argument
310 s3c2410wdt_disable_wdt_reset(struct s3c2410_wdt *wdt, bool mask) s3c2410wdt_disable_wdt_reset() argument
324 s3c2410wdt_mask_wdt_reset(struct s3c2410_wdt *wdt, bool mask) s3c2410wdt_mask_wdt_reset() argument
339 s3c2410wdt_enable_counter(struct s3c2410_wdt *wdt, bool en) s3c2410wdt_enable_counter() argument
353 s3c2410wdt_enable(struct s3c2410_wdt *wdt, bool en) s3c2410wdt_enable() argument
380 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_keepalive() local
390 __s3c2410wdt_stop(struct s3c2410_wdt *wdt) __s3c2410wdt_stop() argument
401 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_stop() local
414 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_start() local
446 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_set_heartbeat() local
497 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_restart() local
545 struct s3c2410_wdt *wdt = platform_get_drvdata(param); s3c2410wdt_irq() local
557 s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt) s3c2410wdt_get_bootstatus() argument
575 s3c2410_get_wdt_drv_data(struct platform_device *pdev, struct s3c2410_wdt *wdt) s3c2410_get_wdt_drv_data() argument
625 struct s3c2410_wdt *wdt; s3c2410wdt_probe() local
746 struct s3c2410_wdt *wdt = platform_get_drvdata(dev); s3c2410wdt_shutdown() local
755 struct s3c2410_wdt *wdt = dev_get_drvdata(dev); s3c2410wdt_suspend() local
774 struct s3c2410_wdt *wdt = dev_get_drvdata(dev); s3c2410wdt_resume() local
[all...]
H A Dkeembay_wdt.c59 static inline u32 keembay_wdt_readl(struct keembay_wdt *wdt, u32 offset) in keembay_wdt_readl() argument
61 return readl(wdt->base + offset); in keembay_wdt_readl()
64 static inline void keembay_wdt_writel(struct keembay_wdt *wdt, u32 offset, u32 val) in keembay_wdt_writel() argument
66 writel(WDT_UNLOCK, wdt->base + TIM_SAFE); in keembay_wdt_writel()
67 writel(val, wdt->base + offset); in keembay_wdt_writel()
72 struct keembay_wdt *wdt = watchdog_get_drvdata(wdog); in keembay_wdt_set_timeout_reg() local
74 keembay_wdt_writel(wdt, TIM_WATCHDOG, wdog->timeout * wdt->rate); in keembay_wdt_set_timeout_reg()
79 struct keembay_wdt *wdt = watchdog_get_drvdata(wdog); in keembay_wdt_set_pretimeout_reg() local
85 keembay_wdt_writel(wdt, TIM_WATCHDOG_INT_THRE in keembay_wdt_set_pretimeout_reg()
90 struct keembay_wdt *wdt = watchdog_get_drvdata(wdog); keembay_wdt_start() local
99 struct keembay_wdt *wdt = watchdog_get_drvdata(wdog); keembay_wdt_stop() local
135 struct keembay_wdt *wdt = watchdog_get_drvdata(wdog); keembay_wdt_get_timeleft() local
146 struct keembay_wdt *wdt = dev_id; keembay_wdt_to_isr() local
158 struct keembay_wdt *wdt = dev_id; keembay_wdt_th_isr() local
191 struct keembay_wdt *wdt; keembay_wdt_probe() local
256 struct keembay_wdt *wdt = dev_get_drvdata(dev); keembay_wdt_suspend() local
266 struct keembay_wdt *wdt = dev_get_drvdata(dev); keembay_wdt_resume() local
[all...]
H A Dpm8916_wdt.c47 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_start() local
49 return regmap_update_bits(wdt->regmap, in pm8916_wdt_start()
50 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_start()
56 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_stop() local
58 return regmap_update_bits(wdt->regmap, in pm8916_wdt_stop()
59 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_stop()
65 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_ping() local
67 return regmap_write(wdt->regmap, wdt->baseaddr + PON_PMIC_WD_RESET_PET, in pm8916_wdt_ping()
73 struct pm8916_wdt *wdt in pm8916_wdt_configure_timers() local
105 struct pm8916_wdt *wdt = arg; pm8916_wdt_isr() local
143 struct pm8916_wdt *wdt; pm8916_wdt_probe() local
238 struct pm8916_wdt *wdt = dev_get_drvdata(dev); pm8916_wdt_suspend() local
248 struct pm8916_wdt *wdt = dev_get_drvdata(dev); pm8916_wdt_resume() local
[all...]
H A Dmax63xx_wdt.c54 void (*ping)(struct max63xx_wdt *wdt);
55 void (*set)(struct max63xx_wdt *wdt, u8 set);
120 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_ping() local
122 wdt->ping(wdt); in max63xx_wdt_ping()
128 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_start() local
130 wdt->set(wdt, wdt->timeout->wdset); in max63xx_wdt_start()
133 if (wdt in max63xx_wdt_start()
140 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); max63xx_wdt_stop() local
158 max63xx_mmap_ping(struct max63xx_wdt *wdt) max63xx_mmap_ping() argument
172 max63xx_mmap_set(struct max63xx_wdt *wdt, u8 set) max63xx_mmap_set() argument
186 max63xx_mmap_init(struct platform_device *p, struct max63xx_wdt *wdt) max63xx_mmap_init() argument
202 struct max63xx_wdt *wdt; max63xx_wdt_probe() local
[all...]
H A Dda9062_wdt.c38 static unsigned int da9062_wdt_read_timeout(struct da9062_watchdog *wdt) in da9062_wdt_read_timeout() argument
42 regmap_read(wdt->hw->regmap, DA9062AA_CONTROL_D, &val); in da9062_wdt_read_timeout()
59 static int da9062_reset_watchdog_timer(struct da9062_watchdog *wdt) in da9062_reset_watchdog_timer() argument
61 return regmap_update_bits(wdt->hw->regmap, DA9062AA_CONTROL_F, in da9062_reset_watchdog_timer()
66 static int da9062_wdt_update_timeout_register(struct da9062_watchdog *wdt, in da9062_wdt_update_timeout_register() argument
69 struct da9062 *chip = wdt->hw; in da9062_wdt_update_timeout_register()
86 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); in da9062_wdt_start() local
90 selector = da9062_wdt_timeout_to_sel(wdt->wdtdev.timeout); in da9062_wdt_start()
91 ret = da9062_wdt_update_timeout_register(wdt, selector); in da9062_wdt_start()
93 dev_err(wdt in da9062_wdt_start()
101 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_stop() local
117 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_ping() local
138 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_set_timeout() local
156 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_restart() local
208 struct da9062_watchdog *wdt; da9062_wdt_probe() local
254 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_suspend() local
268 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_resume() local
[all...]
H A Dapple_wdt.c69 struct apple_wdt *wdt = to_apple_wdt(wdd); in apple_wdt_start() local
71 writel_relaxed(0, wdt->regs + APPLE_WDT_WD1_CUR_TIME); in apple_wdt_start()
72 writel_relaxed(APPLE_WDT_CTRL_RESET_EN, wdt->regs + APPLE_WDT_WD1_CTRL); in apple_wdt_start()
79 struct apple_wdt *wdt = to_apple_wdt(wdd); in apple_wdt_stop() local
81 writel_relaxed(0, wdt->regs + APPLE_WDT_WD1_CTRL); in apple_wdt_stop()
88 struct apple_wdt *wdt = to_apple_wdt(wdd); in apple_wdt_ping() local
90 writel_relaxed(0, wdt->regs + APPLE_WDT_WD1_CUR_TIME); in apple_wdt_ping()
97 struct apple_wdt *wdt = to_apple_wdt(wdd); in apple_wdt_set_timeout() local
99 writel_relaxed(0, wdt->regs + APPLE_WDT_WD1_CUR_TIME); in apple_wdt_set_timeout()
100 writel_relaxed(wdt in apple_wdt_set_timeout()
109 struct apple_wdt *wdt = to_apple_wdt(wdd); apple_wdt_get_timeleft() local
121 struct apple_wdt *wdt = to_apple_wdt(wdd); apple_wdt_restart() local
157 struct apple_wdt *wdt; apple_wdt_probe() local
[all...]
/kernel/linux/linux-5.10/drivers/watchdog/
H A Dat91sam9_wdt.c40 #define wdt_read(wdt, field) \
41 readl_relaxed((wdt)->base + (field))
43 writel_relaxed((val), (wdt)->base + (field))
98 struct at91wdt *wdt = (struct at91wdt *)dev_id; in wdt_interrupt() local
100 if (wdt_read(wdt, AT91_WDT_SR)) { in wdt_interrupt()
112 static inline void at91_wdt_reset(struct at91wdt *wdt) in at91_wdt_reset() argument
114 wdt_write(wdt, AT91_WDT_CR, AT91_WDT_KEY | AT91_WDT_WDRSTT); in at91_wdt_reset()
122 struct at91wdt *wdt = from_timer(wdt, t, timer); in at91_ping() local
123 if (time_before(jiffies, wdt in at91_ping()
134 struct at91wdt *wdt = to_wdt(wdd); at91_wdt_start() local
152 at91_wdt_init(struct platform_device *pdev, struct at91wdt *wdt) at91_wdt_init() argument
265 of_at91wdt_init(struct device_node *np, struct at91wdt *wdt) of_at91wdt_init() argument
321 of_at91wdt_init(struct device_node *np, struct at91wdt *wdt) of_at91wdt_init() argument
330 struct at91wdt *wdt; at91wdt_probe() local
386 struct at91wdt *wdt = platform_get_drvdata(pdev); at91wdt_remove() local
[all...]
H A Dsama5d4_wdt.c52 #define wdt_enabled (!(wdt->mr & AT91_WDT_WDDIS))
54 #define wdt_read(wdt, field) \
55 readl_relaxed((wdt)->reg_base + (field))
60 static void wdt_write(struct sama5d4_wdt *wdt, u32 field, u32 val) in wdt_write() argument
67 while (time_before(jiffies, wdt->last_ping + WDT_DELAY)) in wdt_write()
69 writel_relaxed(val, wdt->reg_base + field); in wdt_write()
70 wdt->last_ping = jiffies; in wdt_write()
73 static void wdt_write_nosleep(struct sama5d4_wdt *wdt, u32 field, u32 val) in wdt_write_nosleep() argument
75 if (time_before(jiffies, wdt->last_ping + WDT_DELAY)) in wdt_write_nosleep()
77 writel_relaxed(val, wdt in wdt_write_nosleep()
83 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_start() local
98 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_stop() local
113 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_ping() local
123 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_set_timeout() local
167 struct sama5d4_wdt *wdt = platform_get_drvdata(dev_id); sama5d4_wdt_irq_handler() local
184 of_sama5d4_wdt_init(struct device_node *np, struct sama5d4_wdt *wdt) of_sama5d4_wdt_init() argument
206 sama5d4_wdt_init(struct sama5d4_wdt *wdt) sama5d4_wdt_init() argument
255 struct sama5d4_wdt *wdt; sama5d4_wdt_probe() local
339 struct sama5d4_wdt *wdt = dev_get_drvdata(dev); sama5d4_wdt_suspend_late() local
349 struct sama5d4_wdt *wdt = dev_get_drvdata(dev); sama5d4_wdt_resume_early() local
[all...]
H A Dsprd_wdt.c83 struct sprd_wdt *wdt = (struct sprd_wdt *)dev_id; in sprd_wdt_isr() local
85 sprd_wdt_unlock(wdt->base); in sprd_wdt_isr()
86 writel_relaxed(SPRD_WDT_INT_CLEAR_BIT, wdt->base + SPRD_WDT_INT_CLR); in sprd_wdt_isr()
87 sprd_wdt_lock(wdt->base); in sprd_wdt_isr()
88 watchdog_notify_pretimeout(&wdt->wdd); in sprd_wdt_isr()
92 static u32 sprd_wdt_get_cnt_value(struct sprd_wdt *wdt) in sprd_wdt_get_cnt_value() argument
96 val = readl_relaxed(wdt->base + SPRD_WDT_CNT_HIGH) << in sprd_wdt_get_cnt_value()
98 val |= readl_relaxed(wdt->base + SPRD_WDT_CNT_LOW) & in sprd_wdt_get_cnt_value()
104 static int sprd_wdt_load_value(struct sprd_wdt *wdt, u32 timeout, in sprd_wdt_load_value() argument
116 val = readl_relaxed(wdt in sprd_wdt_load_value()
141 sprd_wdt_enable(struct sprd_wdt *wdt) sprd_wdt_enable() argument
165 struct sprd_wdt *wdt = _data; sprd_wdt_disable() local
177 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_start() local
197 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_stop() local
212 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_set_timeout() local
225 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_set_pretimeout() local
237 struct sprd_wdt *wdt = to_sprd_wdt(wdd); sprd_wdt_get_timeleft() local
264 struct sprd_wdt *wdt; sprd_wdt_probe() local
331 struct sprd_wdt *wdt = dev_get_drvdata(dev); sprd_wdt_pm_suspend() local
342 struct sprd_wdt *wdt = dev_get_drvdata(dev); sprd_wdt_pm_resume() local
[all...]
H A Dmei_wdt.c161 * @wdt: mei watchdog device
166 static int mei_wdt_ping(struct mei_wdt *wdt) in mei_wdt_ping() argument
177 req.timeout = wdt->timeout; in mei_wdt_ping()
179 ret = mei_cldev_send(wdt->cldev, (u8 *)&req, req_len); in mei_wdt_ping()
189 * @wdt: mei watchdog device
194 static int mei_wdt_stop(struct mei_wdt *wdt) in mei_wdt_stop() argument
206 ret = mei_cldev_send(wdt->cldev, (u8 *)&req, req_len); in mei_wdt_stop()
222 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); in mei_wdt_ops_start() local
224 wdt->state = MEI_WDT_START; in mei_wdt_ops_start()
225 wdd->timeout = wdt in mei_wdt_ops_start()
238 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); mei_wdt_ops_stop() local
264 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); mei_wdt_ops_ping() local
296 struct mei_wdt *wdt = watchdog_get_drvdata(wdd); mei_wdt_ops_set_timeout() local
329 __mei_wdt_is_registered(struct mei_wdt *wdt) __mei_wdt_is_registered() argument
339 mei_wdt_unregister(struct mei_wdt *wdt) mei_wdt_unregister() argument
359 mei_wdt_register(struct mei_wdt *wdt) mei_wdt_register() argument
400 struct mei_wdt *wdt = container_of(work, struct mei_wdt, unregister); mei_wdt_unregister_work() local
412 struct mei_wdt *wdt = mei_cldev_get_drvdata(cldev); mei_wdt_rx() local
484 struct mei_wdt *wdt = mei_cldev_get_drvdata(cldev); mei_wdt_notif() local
497 struct mei_wdt *wdt = file->private_data; mei_dbgfs_read_activation() local
519 struct mei_wdt *wdt = file->private_data; mei_dbgfs_read_state() local
535 dbgfs_unregister(struct mei_wdt *wdt) dbgfs_unregister() argument
541 dbgfs_register(struct mei_wdt *wdt) dbgfs_register() argument
556 dbgfs_unregister(struct mei_wdt *wdt) dbgfs_unregister() argument
557 dbgfs_register(struct mei_wdt *wdt) dbgfs_register() argument
563 struct mei_wdt *wdt; mei_wdt_probe() local
625 struct mei_wdt *wdt = mei_cldev_get_drvdata(cldev); mei_wdt_remove() local
[all...]
H A Dmlx_wdt.c57 static void mlxreg_wdt_check_card_reset(struct mlxreg_wdt *wdt) in mlxreg_wdt_check_card_reset() argument
63 if (wdt->reset_idx == -EINVAL) in mlxreg_wdt_check_card_reset()
66 if (!(wdt->wdd.info->options & WDIOF_CARDRESET)) in mlxreg_wdt_check_card_reset()
69 reg_data = &wdt->pdata->data[wdt->reset_idx]; in mlxreg_wdt_check_card_reset()
70 rc = regmap_read(wdt->regmap, reg_data->reg, &regval); in mlxreg_wdt_check_card_reset()
73 wdt->wdd.bootstatus = WDIOF_CARDRESET; in mlxreg_wdt_check_card_reset()
74 dev_info(wdt->wdd.parent, in mlxreg_wdt_check_card_reset()
82 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); in mlxreg_wdt_start() local
83 struct mlxreg_core_data *reg_data = &wdt in mlxreg_wdt_start()
91 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); mlxreg_wdt_stop() local
100 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); mlxreg_wdt_ping() local
111 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); mlxreg_wdt_set_timeout() local
169 struct mlxreg_wdt *wdt = watchdog_get_drvdata(wdd); mlxreg_wdt_get_timeleft() local
223 mlxreg_wdt_config(struct mlxreg_wdt *wdt, struct mlxreg_core_platform_data *pdata) mlxreg_wdt_config() argument
271 mlxreg_wdt_init_timeout(struct mlxreg_wdt *wdt, struct mlxreg_core_platform_data *pdata) mlxreg_wdt_init_timeout() argument
284 struct mlxreg_wdt *wdt; mlxreg_wdt_probe() local
[all...]
H A Dsp805_wdt.c2 * drivers/char/watchdog/sp805-wdt.c
36 #define MODULE_NAME "sp805-wdt"
57 * struct sp805_wdt: sp805 wdt device structure
60 * @base: base address of wdt
61 * @clk: clock structure of wdt
62 * @adev: amba device structure of wdt
63 * @status: current status of wdt
81 /* returns true if wdt is running; otherwise returns false */
84 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); in wdt_is_running() local
85 u32 wdtcontrol = readl_relaxed(wdt in wdt_is_running()
93 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_setload() local
121 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_timeleft() local
138 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_restart() local
153 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_config() local
198 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_disable() local
233 struct sp805_wdt *wdt; sp805_wdt_probe() local
309 struct sp805_wdt *wdt = amba_get_drvdata(adev); sp805_wdt_remove() local
317 struct sp805_wdt *wdt = dev_get_drvdata(dev); sp805_wdt_suspend() local
327 struct sp805_wdt *wdt = dev_get_drvdata(dev); sp805_wdt_resume() local
[all...]
H A Ds3c2410_wdt.c164 { .compatible = "samsung,s3c2410-wdt",
166 { .compatible = "samsung,s3c6410-wdt",
168 { .compatible = "samsung,exynos5250-wdt",
170 { .compatible = "samsung,exynos5420-wdt",
172 { .compatible = "samsung,exynos7-wdt",
181 .name = "s3c2410-wdt",
203 static int s3c2410wdt_mask_and_disable_reset(struct s3c2410_wdt *wdt, bool mask) in s3c2410wdt_mask_and_disable_reset() argument
206 u32 mask_val = 1 << wdt->drv_data->mask_bit; in s3c2410wdt_mask_and_disable_reset()
210 if (!(wdt->drv_data->quirks & QUIRK_HAS_PMU_CONFIG)) in s3c2410wdt_mask_and_disable_reset()
216 ret = regmap_update_bits(wdt in s3c2410wdt_mask_and_disable_reset()
234 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_keepalive() local
243 __s3c2410wdt_stop(struct s3c2410_wdt *wdt) __s3c2410wdt_stop() argument
254 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_stop() local
266 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_start() local
294 s3c2410wdt_is_running(struct s3c2410_wdt *wdt) s3c2410wdt_is_running() argument
302 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_set_heartbeat() local
353 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_restart() local
401 struct s3c2410_wdt *wdt = platform_get_drvdata(param); s3c2410wdt_irq() local
419 struct s3c2410_wdt *wdt = freq_to_wdt(nb); s3c2410wdt_cpufreq_transition() local
452 s3c2410wdt_cpufreq_register(struct s3c2410_wdt *wdt) s3c2410wdt_cpufreq_register() argument
460 s3c2410wdt_cpufreq_deregister(struct s3c2410_wdt *wdt) s3c2410wdt_cpufreq_deregister() argument
470 s3c2410wdt_cpufreq_register(struct s3c2410_wdt *wdt) s3c2410wdt_cpufreq_register() argument
475 s3c2410wdt_cpufreq_deregister(struct s3c2410_wdt *wdt) s3c2410wdt_cpufreq_deregister() argument
480 s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt) s3c2410wdt_get_bootstatus() argument
515 struct s3c2410_wdt *wdt; s3c2410wdt_probe() local
656 struct s3c2410_wdt *wdt = platform_get_drvdata(dev); s3c2410wdt_remove() local
673 struct s3c2410_wdt *wdt = platform_get_drvdata(dev); s3c2410wdt_shutdown() local
685 struct s3c2410_wdt *wdt = dev_get_drvdata(dev); s3c2410wdt_suspend() local
704 struct s3c2410_wdt *wdt = dev_get_drvdata(dev); s3c2410wdt_resume() local
[all...]
H A Dbcm7038_wdt.c39 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_set_timeout_reg() local
42 timeout = wdt->rate * wdog->timeout; in bcm7038_wdt_set_timeout_reg()
44 writel(timeout, wdt->base + WDT_TIMEOUT_REG); in bcm7038_wdt_set_timeout_reg()
49 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_ping() local
51 writel(WDT_START_1, wdt->base + WDT_CMD_REG); in bcm7038_wdt_ping()
52 writel(WDT_START_2, wdt->base + WDT_CMD_REG); in bcm7038_wdt_ping()
67 struct bcm7038_watchdog *wdt = watchdog_get_drvdata(wdog); in bcm7038_wdt_stop() local
69 writel(WDT_STOP_1, wdt->base + WDT_CMD_REG); in bcm7038_wdt_stop()
70 writel(WDT_STOP_2, wdt->base + WDT_CMD_REG); in bcm7038_wdt_stop()
88 struct bcm7038_watchdog *wdt in bcm7038_wdt_get_timeleft() local
118 struct bcm7038_watchdog *wdt; bcm7038_wdt_probe() local
173 struct bcm7038_watchdog *wdt = dev_get_drvdata(dev); bcm7038_wdt_suspend() local
183 struct bcm7038_watchdog *wdt = dev_get_drvdata(dev); bcm7038_wdt_resume() local
[all...]
H A Dmax63xx_wdt.c56 void (*ping)(struct max63xx_wdt *wdt);
57 void (*set)(struct max63xx_wdt *wdt, u8 set);
122 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_ping() local
124 wdt->ping(wdt); in max63xx_wdt_ping()
130 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); in max63xx_wdt_start() local
132 wdt->set(wdt, wdt->timeout->wdset); in max63xx_wdt_start()
135 if (wdt in max63xx_wdt_start()
142 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); max63xx_wdt_stop() local
160 max63xx_mmap_ping(struct max63xx_wdt *wdt) max63xx_mmap_ping() argument
174 max63xx_mmap_set(struct max63xx_wdt *wdt, u8 set) max63xx_mmap_set() argument
188 max63xx_mmap_init(struct platform_device *p, struct max63xx_wdt *wdt) max63xx_mmap_init() argument
204 struct max63xx_wdt *wdt; max63xx_wdt_probe() local
[all...]
H A Dda9062_wdt.c38 static unsigned int da9062_wdt_read_timeout(struct da9062_watchdog *wdt) in da9062_wdt_read_timeout() argument
42 regmap_read(wdt->hw->regmap, DA9062AA_CONTROL_D, &val); in da9062_wdt_read_timeout()
59 static int da9062_reset_watchdog_timer(struct da9062_watchdog *wdt) in da9062_reset_watchdog_timer() argument
61 return regmap_update_bits(wdt->hw->regmap, DA9062AA_CONTROL_F, in da9062_reset_watchdog_timer()
66 static int da9062_wdt_update_timeout_register(struct da9062_watchdog *wdt, in da9062_wdt_update_timeout_register() argument
69 struct da9062 *chip = wdt->hw; in da9062_wdt_update_timeout_register()
86 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); in da9062_wdt_start() local
90 selector = da9062_wdt_timeout_to_sel(wdt->wdtdev.timeout); in da9062_wdt_start()
91 ret = da9062_wdt_update_timeout_register(wdt, selector); in da9062_wdt_start()
93 dev_err(wdt in da9062_wdt_start()
101 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_stop() local
117 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_ping() local
131 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_set_timeout() local
149 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_restart() local
192 struct da9062_watchdog *wdt; da9062_wdt_probe() local
238 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_suspend() local
252 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_resume() local
[all...]
H A Dzx2967_wdt.c54 static inline u32 zx2967_wdt_readl(struct zx2967_wdt *wdt, u16 reg) in zx2967_wdt_readl() argument
56 return readl_relaxed(wdt->reg_base + reg); in zx2967_wdt_readl()
59 static inline void zx2967_wdt_writel(struct zx2967_wdt *wdt, u16 reg, u32 val) in zx2967_wdt_writel() argument
61 writel_relaxed(val | ZX2967_WDT_WRITEKEY, wdt->reg_base + reg); in zx2967_wdt_writel()
64 static void zx2967_wdt_refresh(struct zx2967_wdt *wdt) in zx2967_wdt_refresh() argument
68 val = zx2967_wdt_readl(wdt, ZX2967_WDT_REFRESH_REG); in zx2967_wdt_refresh()
76 zx2967_wdt_writel(wdt, ZX2967_WDT_REFRESH_REG, in zx2967_wdt_refresh()
83 struct zx2967_wdt *wdt = watchdog_get_drvdata(wdd); in zx2967_wdt_set_timeout() local
91 zx2967_wdt_writel(wdt, ZX2967_WDT_CFG_REG, in zx2967_wdt_set_timeout()
93 zx2967_wdt_writel(wdt, ZX2967_WDT_LOAD_RE in zx2967_wdt_set_timeout()
101 __zx2967_wdt_start(struct zx2967_wdt *wdt) __zx2967_wdt_start() argument
111 __zx2967_wdt_stop(struct zx2967_wdt *wdt) __zx2967_wdt_stop() argument
123 struct zx2967_wdt *wdt = watchdog_get_drvdata(wdd); zx2967_wdt_start() local
133 struct zx2967_wdt *wdt = watchdog_get_drvdata(wdd); zx2967_wdt_stop() local
142 struct zx2967_wdt *wdt = watchdog_get_drvdata(wdd); zx2967_wdt_keepalive() local
198 struct zx2967_wdt *wdt; zx2967_wdt_probe() local
[all...]
H A Dpm8916_wdt.c41 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_start() local
43 return regmap_update_bits(wdt->regmap, in pm8916_wdt_start()
44 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_start()
50 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_stop() local
52 return regmap_update_bits(wdt->regmap, in pm8916_wdt_stop()
53 wdt->baseaddr + PON_PMIC_WD_RESET_S2_CTL2, in pm8916_wdt_stop()
59 struct pm8916_wdt *wdt = watchdog_get_drvdata(wdev); in pm8916_wdt_ping() local
61 return regmap_update_bits(wdt->regmap, in pm8916_wdt_ping()
62 wdt->baseaddr + PON_PMIC_WD_RESET_PET, in pm8916_wdt_ping()
68 struct pm8916_wdt *wdt in pm8916_wdt_configure_timers() local
100 struct pm8916_wdt *wdt = arg; pm8916_wdt_isr() local
136 struct pm8916_wdt *wdt; pm8916_wdt_probe() local
205 struct pm8916_wdt *wdt = dev_get_drvdata(dev); pm8916_wdt_suspend() local
215 struct pm8916_wdt *wdt = dev_get_drvdata(dev); pm8916_wdt_resume() local
[all...]

Completed in 12 milliseconds

123456