Home
last modified time | relevance | path

Searched refs:wdt (Results 1 – 25 of 31) sorted by relevance

12

/drivers/watchdog/
Ds3c2410_wdt.c208 static int s3c2410wdt_mask_and_disable_reset(struct s3c2410_wdt *wdt, bool mask) in s3c2410wdt_mask_and_disable_reset() argument
211 u32 mask_val = 1 << wdt->drv_data->mask_bit; in s3c2410wdt_mask_and_disable_reset()
215 if (!(wdt->drv_data->quirks & QUIRK_HAS_PMU_CONFIG)) in s3c2410wdt_mask_and_disable_reset()
221 ret = regmap_update_bits(wdt->pmureg, in s3c2410wdt_mask_and_disable_reset()
222 wdt->drv_data->disable_reg, in s3c2410wdt_mask_and_disable_reset()
227 ret = regmap_update_bits(wdt->pmureg, in s3c2410wdt_mask_and_disable_reset()
228 wdt->drv_data->mask_reset_reg, in s3c2410wdt_mask_and_disable_reset()
232 dev_err(wdt->dev, "failed to update reg(%d)\n", ret); in s3c2410wdt_mask_and_disable_reset()
239 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); in s3c2410wdt_keepalive() local
241 spin_lock(&wdt->lock); in s3c2410wdt_keepalive()
[all …]
Dat91sam9_wdt.c42 #define wdt_read(wdt, field) \ argument
43 __raw_readl((wdt)->base + (field))
45 __raw_writel((val), (wdt)->base + (field))
99 struct at91wdt *wdt = (struct at91wdt *)dev_id; in wdt_interrupt() local
101 if (wdt_read(wdt, AT91_WDT_SR)) { in wdt_interrupt()
113 static inline void at91_wdt_reset(struct at91wdt *wdt) in at91_wdt_reset() argument
115 wdt_write(wdt, AT91_WDT_CR, AT91_WDT_KEY | AT91_WDT_WDRSTT); in at91_wdt_reset()
123 struct at91wdt *wdt = (struct at91wdt *)data; in at91_ping() local
124 if (time_before(jiffies, wdt->next_heartbeat) || in at91_ping()
125 !watchdog_active(&wdt->wdd)) { in at91_ping()
[all …]
Dsp805_wdt.c80 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); in wdt_setload() local
83 rate = clk_get_rate(wdt->clk); in wdt_setload()
96 spin_lock(&wdt->lock); in wdt_setload()
97 wdt->load_val = load; in wdt_setload()
100 spin_unlock(&wdt->lock); in wdt_setload()
108 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); in wdt_timeleft() local
111 rate = clk_get_rate(wdt->clk); in wdt_timeleft()
113 spin_lock(&wdt->lock); in wdt_timeleft()
114 load = readl_relaxed(wdt->base + WDTVALUE); in wdt_timeleft()
117 if (!(readl_relaxed(wdt->base + WDTRIS) & INT_MASK)) in wdt_timeleft()
[all …]
Dqcom-wdt.c43 struct qcom_wdt *wdt = to_qcom_wdt(wdd); in qcom_wdt_start() local
45 writel(0, wdt->base + WDT_EN); in qcom_wdt_start()
46 writel(1, wdt->base + WDT_RST); in qcom_wdt_start()
47 writel(wdd->timeout * wdt->rate, wdt->base + WDT_BITE_TIME); in qcom_wdt_start()
48 writel(1, wdt->base + WDT_EN); in qcom_wdt_start()
54 struct qcom_wdt *wdt = to_qcom_wdt(wdd); in qcom_wdt_stop() local
56 writel(0, wdt->base + WDT_EN); in qcom_wdt_stop()
62 struct qcom_wdt *wdt = to_qcom_wdt(wdd); in qcom_wdt_ping() local
64 writel(1, wdt->base + WDT_RST); in qcom_wdt_ping()
93 struct qcom_wdt *wdt = container_of(nb, struct qcom_wdt, restart_nb); in qcom_wdt_restart() local
[all …]
Dts72xx_wdt.c144 static inline void ts72xx_wdt_kick(struct ts72xx_wdt *wdt) in ts72xx_wdt_kick() argument
146 __raw_writeb(TS72XX_WDT_FEED_VAL, wdt->feed_reg); in ts72xx_wdt_kick()
158 static void ts72xx_wdt_start(struct ts72xx_wdt *wdt) in ts72xx_wdt_start() argument
165 ts72xx_wdt_kick(wdt); in ts72xx_wdt_start()
166 __raw_writeb((u8)wdt->regval, wdt->control_reg); in ts72xx_wdt_start()
175 static void ts72xx_wdt_stop(struct ts72xx_wdt *wdt) in ts72xx_wdt_stop() argument
177 ts72xx_wdt_kick(wdt); in ts72xx_wdt_stop()
178 __raw_writeb(0, wdt->control_reg); in ts72xx_wdt_stop()
183 struct ts72xx_wdt *wdt = platform_get_drvdata(ts72xx_wdt_pdev); in ts72xx_wdt_open() local
192 dev_err(&wdt->pdev->dev, in ts72xx_wdt_open()
[all …]
Dbcm47xx_wdt.c54 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_keepalive() local
56 wdt->timer_set_ms(wdt, wdd->timeout * 1000); in bcm47xx_wdt_hard_keepalive()
68 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_stop() local
70 wdt->timer_set(wdt, 0); in bcm47xx_wdt_hard_stop()
78 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); in bcm47xx_wdt_hard_set_timeout() local
79 u32 max_timer = wdt->max_timer_ms; in bcm47xx_wdt_hard_set_timeout()
101 struct bcm47xx_wdt *wdt = (struct bcm47xx_wdt *)data; in bcm47xx_wdt_soft_timer_tick() local
102 u32 next_tick = min(wdt->wdd.timeout * 1000, wdt->max_timer_ms); in bcm47xx_wdt_soft_timer_tick()
104 if (!atomic_dec_and_test(&wdt->soft_ticks)) { in bcm47xx_wdt_soft_timer_tick()
105 wdt->timer_set_ms(wdt, next_tick); in bcm47xx_wdt_soft_timer_tick()
[all …]
Dcadence_wdt.c91 static inline void cdns_wdt_writereg(struct cdns_wdt *wdt, u32 offset, u32 val) in cdns_wdt_writereg() argument
93 writel_relaxed(val, wdt->regs + offset); in cdns_wdt_writereg()
132 struct cdns_wdt *wdt = watchdog_get_drvdata(wdd); in cdns_wdt_stop() local
134 spin_lock(&wdt->io_lock); in cdns_wdt_stop()
135 cdns_wdt_writereg(wdt, CDNS_WDT_ZMR_OFFSET, in cdns_wdt_stop()
137 spin_unlock(&wdt->io_lock); in cdns_wdt_stop()
153 struct cdns_wdt *wdt = watchdog_get_drvdata(wdd); in cdns_wdt_reload() local
155 spin_lock(&wdt->io_lock); in cdns_wdt_reload()
156 cdns_wdt_writereg(wdt, CDNS_WDT_RESTART_OFFSET, in cdns_wdt_reload()
158 spin_unlock(&wdt->io_lock); in cdns_wdt_reload()
[all …]
Dbcm_kona_wdt.c65 static int secure_register_read(struct bcm_kona_wdt *wdt, uint32_t offset) in secure_register_read() argument
78 val = readl_relaxed(wdt->base + offset); in secure_register_read()
84 if (count > wdt->busy_count) in secure_register_read()
85 wdt->busy_count = count; in secure_register_read()
104 struct bcm_kona_wdt *wdt = s->private; in bcm_kona_wdt_dbg_show() local
106 if (!wdt) in bcm_kona_wdt_dbg_show()
109 spin_lock_irqsave(&wdt->lock, flags); in bcm_kona_wdt_dbg_show()
110 ctl_val = secure_register_read(wdt, SECWDOG_CTRL_REG); in bcm_kona_wdt_dbg_show()
111 cur_val = secure_register_read(wdt, SECWDOG_COUNT_REG); in bcm_kona_wdt_dbg_show()
112 spin_unlock_irqrestore(&wdt->lock, flags); in bcm_kona_wdt_dbg_show()
[all …]
Dshwdt.c87 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_start() local
91 pm_runtime_get_sync(wdt->dev); in sh_wdt_start()
92 clk_enable(wdt->clk); in sh_wdt_start()
94 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_start()
97 mod_timer(&wdt->timer, next_ping_period(clock_division_ratio)); in sh_wdt_start()
123 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_start()
130 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_stop() local
134 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_stop()
136 del_timer(&wdt->timer); in sh_wdt_stop()
142 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_stop()
[all …]
Dtwl4030_wdt.c42 static int twl4030_wdt_start(struct watchdog_device *wdt) in twl4030_wdt_start() argument
44 return twl4030_wdt_write(wdt->timeout + 1); in twl4030_wdt_start()
47 static int twl4030_wdt_stop(struct watchdog_device *wdt) in twl4030_wdt_stop() argument
52 static int twl4030_wdt_set_timeout(struct watchdog_device *wdt, in twl4030_wdt_set_timeout() argument
55 wdt->timeout = timeout; in twl4030_wdt_set_timeout()
74 struct watchdog_device *wdt; in twl4030_wdt_probe() local
76 wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL); in twl4030_wdt_probe()
77 if (!wdt) in twl4030_wdt_probe()
80 wdt->info = &twl4030_wdt_info; in twl4030_wdt_probe()
81 wdt->ops = &twl4030_wdt_ops; in twl4030_wdt_probe()
[all …]
Dat32ap700x_wdt.c85 static struct wdt_at32ap700x *wdt; variable
95 spin_lock(&wdt->io_lock); in at32_wdt_stop()
96 psel = wdt_readl(wdt, CTRL) & WDT_BF(CTRL_PSEL, 0x0f); in at32_wdt_stop()
97 wdt_writel(wdt, CTRL, psel | WDT_BF(CTRL_KEY, 0x55)); in at32_wdt_stop()
98 wdt_writel(wdt, CTRL, psel | WDT_BF(CTRL_KEY, 0xaa)); in at32_wdt_stop()
99 spin_unlock(&wdt->io_lock); in at32_wdt_stop()
108 unsigned long psel = (wdt->timeout > 1) ? 0xf : 0xe; in at32_wdt_start()
110 spin_lock(&wdt->io_lock); in at32_wdt_start()
111 wdt_writel(wdt, CTRL, WDT_BIT(CTRL_EN) in at32_wdt_start()
114 wdt_writel(wdt, CTRL, WDT_BIT(CTRL_EN) in at32_wdt_start()
[all …]
Dda9063_wdt.c63 struct da9063_watchdog *wdt = watchdog_get_drvdata(wdd); in da9063_wdt_start() local
67 selector = da9063_wdt_timeout_to_sel(wdt->wdtdev.timeout); in da9063_wdt_start()
68 ret = _da9063_wdt_set_timeout(wdt->da9063, selector); in da9063_wdt_start()
70 dev_err(wdt->da9063->dev, "Watchdog failed to start (err = %d)\n", in da9063_wdt_start()
78 struct da9063_watchdog *wdt = watchdog_get_drvdata(wdd); in da9063_wdt_stop() local
81 ret = regmap_update_bits(wdt->da9063->regmap, DA9063_REG_CONTROL_D, in da9063_wdt_stop()
84 dev_alert(wdt->da9063->dev, "Watchdog failed to stop (err = %d)\n", in da9063_wdt_stop()
92 struct da9063_watchdog *wdt = watchdog_get_drvdata(wdd); in da9063_wdt_ping() local
95 ret = regmap_write(wdt->da9063->regmap, DA9063_REG_CONTROL_F, in da9063_wdt_ping()
98 dev_alert(wdt->da9063->dev, "Failed to ping the watchdog (err = %d)\n", in da9063_wdt_ping()
[all …]
Drn5t618_wdt.c56 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_set_timeout() local
67 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_set_timeout()
78 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_start() local
86 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_REPCNT, in rn5t618_wdt_start()
93 ret = regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_start()
100 return regmap_update_bits(wdt->rn5t618->regmap, RN5T618_PWRIREN, in rn5t618_wdt_start()
107 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_stop() local
109 return regmap_update_bits(wdt->rn5t618->regmap, RN5T618_WATCHDOG, in rn5t618_wdt_stop()
115 struct rn5t618_wdt *wdt = watchdog_get_drvdata(wdt_dev); in rn5t618_wdt_ping() local
120 ret = regmap_read(wdt->rn5t618->regmap, RN5T618_WATCHDOG, &val); in rn5t618_wdt_ping()
[all …]
Dtegra_wdt.c88 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_start() local
99 writel(val, wdt->tmr_regs + TIMER_PTV); in tegra_wdt_start()
111 writel(val, wdt->wdt_regs + WDT_CFG); in tegra_wdt_start()
113 writel(WDT_CMD_START_COUNTER, wdt->wdt_regs + WDT_CMD); in tegra_wdt_start()
120 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_stop() local
122 writel(WDT_UNLOCK_PATTERN, wdt->wdt_regs + WDT_UNLOCK); in tegra_wdt_stop()
123 writel(WDT_CMD_DISABLE_COUNTER, wdt->wdt_regs + WDT_CMD); in tegra_wdt_stop()
124 writel(0, wdt->tmr_regs + TIMER_PTV); in tegra_wdt_stop()
131 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); in tegra_wdt_ping() local
133 writel(WDT_CMD_START_COUNTER, wdt->wdt_regs + WDT_CMD); in tegra_wdt_ping()
[all …]
Dmenf21bmc_wdt.c38 struct watchdog_device wdt; member
51 data->wdt.bootstatus |= WDIOF_CARDRESET; in menf21bmc_wdt_set_bootstatus()
53 data->wdt.bootstatus |= WDIOF_EXTERN1; in menf21bmc_wdt_set_bootstatus()
55 data->wdt.bootstatus |= WDIOF_EXTERN2; in menf21bmc_wdt_set_bootstatus()
57 data->wdt.bootstatus |= WDIOF_POWERUNDER; in menf21bmc_wdt_set_bootstatus()
62 static int menf21bmc_wdt_start(struct watchdog_device *wdt) in menf21bmc_wdt_start() argument
64 struct menf21bmc_wdt *drv_data = watchdog_get_drvdata(wdt); in menf21bmc_wdt_start()
69 static int menf21bmc_wdt_stop(struct watchdog_device *wdt) in menf21bmc_wdt_stop() argument
71 struct menf21bmc_wdt *drv_data = watchdog_get_drvdata(wdt); in menf21bmc_wdt_stop()
78 menf21bmc_wdt_settimeout(struct watchdog_device *wdt, unsigned int timeout) in menf21bmc_wdt_settimeout() argument
[all …]
Dbcm2835_wdt.c47 struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); in bcm2835_wdt_start() local
51 spin_lock_irqsave(&wdt->lock, flags); in bcm2835_wdt_start()
54 PM_WDOG_TIME_SET), wdt->base + PM_WDOG); in bcm2835_wdt_start()
55 cur = readl_relaxed(wdt->base + PM_RSTC); in bcm2835_wdt_start()
57 PM_RSTC_WRCFG_FULL_RESET, wdt->base + PM_RSTC); in bcm2835_wdt_start()
59 spin_unlock_irqrestore(&wdt->lock, flags); in bcm2835_wdt_start()
66 struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); in bcm2835_wdt_stop() local
68 writel_relaxed(PM_PASSWORD | PM_RSTC_RESET, wdt->base + PM_RSTC); in bcm2835_wdt_stop()
81 struct bcm2835_wdt *wdt = watchdog_get_drvdata(wdog); in bcm2835_wdt_get_timeleft() local
83 uint32_t ret = readl_relaxed(wdt->base + PM_WDOG); in bcm2835_wdt_get_timeleft()
[all …]
Dxen_wdt.c37 static struct sched_watchdog wdt; variable
54 wdt.timeout = timeout; in set_timeout()
66 if (!wdt.id) in xen_wdt_start()
67 err = HYPERVISOR_sched_op(SCHEDOP_watchdog, &wdt); in xen_wdt_start()
71 wdt.id = err; in xen_wdt_start()
88 wdt.timeout = 0; in xen_wdt_stop()
89 if (wdt.id) in xen_wdt_stop()
90 err = HYPERVISOR_sched_op(SCHEDOP_watchdog, &wdt); in xen_wdt_stop()
92 wdt.id = 0; in xen_wdt_stop()
107 if (wdt.id) in xen_wdt_kick()
[all …]
Dmena21_wdt.c35 struct watchdog_device wdt; member
56 static int a21_wdt_start(struct watchdog_device *wdt) in a21_wdt_start() argument
58 struct a21_wdt_drv *drv = watchdog_get_drvdata(wdt); in a21_wdt_start()
69 static int a21_wdt_stop(struct watchdog_device *wdt) in a21_wdt_stop() argument
71 struct a21_wdt_drv *drv = watchdog_get_drvdata(wdt); in a21_wdt_stop()
82 static int a21_wdt_ping(struct watchdog_device *wdt) in a21_wdt_ping() argument
84 struct a21_wdt_drv *drv = watchdog_get_drvdata(wdt); in a21_wdt_ping()
97 static int a21_wdt_set_timeout(struct watchdog_device *wdt, in a21_wdt_set_timeout() argument
100 struct a21_wdt_drv *drv = watchdog_get_drvdata(wdt); in a21_wdt_set_timeout()
103 dev_err(wdt->dev, "Only 1 and 30 allowed as timeout\n"); in a21_wdt_set_timeout()
[all …]
Dorion_wdt.c67 struct watchdog_device wdt; member
511 dev->wdt.info = &orion_wdt_info; in orion_wdt_probe()
512 dev->wdt.ops = &orion_wdt_ops; in orion_wdt_probe()
513 dev->wdt.min_timeout = 1; in orion_wdt_probe()
528 dev->wdt.timeout = wdt_max_duration; in orion_wdt_probe()
529 dev->wdt.max_timeout = wdt_max_duration; in orion_wdt_probe()
530 watchdog_init_timeout(&dev->wdt, heartbeat, &pdev->dev); in orion_wdt_probe()
532 platform_set_drvdata(pdev, &dev->wdt); in orion_wdt_probe()
533 watchdog_set_drvdata(&dev->wdt, dev); in orion_wdt_probe()
541 if (!orion_wdt_enabled(&dev->wdt)) in orion_wdt_probe()
[all …]
Djz4740_wdt.c65 struct watchdog_device wdt; member
162 jz4740_wdt = &drvdata->wdt; in jz4740_wdt_probe()
185 ret = watchdog_register_device(&drvdata->wdt); in jz4740_wdt_probe()
202 jz4740_wdt_stop(&drvdata->wdt); in jz4740_wdt_remove()
203 watchdog_unregister_device(&drvdata->wdt); in jz4740_wdt_remove()
Dda9055_wdt.c36 struct watchdog_device wdt; member
159 da9055_wdt = &driver_data->wdt; in da9055_wdt_probe()
177 ret = watchdog_register_device(&driver_data->wdt); in da9055_wdt_probe()
190 watchdog_unregister_device(&driver_data->wdt); in da9055_wdt_remove()
DMakefile20 obj-$(CONFIG_WDT) += wdt.o
62 obj-$(CONFIG_QCOM_WDT) += qcom-wdt.o
141 obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o
142 octeon-wdt-y := octeon-wdt-main.o octeon-wdt-nmi.o
/drivers/ssb/
Dembedded.c39 struct bcm47xx_wdt wdt = {}; in ssb_watchdog_register() local
43 wdt.driver_data = &bus->chipco; in ssb_watchdog_register()
44 wdt.timer_set = ssb_chipco_watchdog_timer_set_wdt; in ssb_watchdog_register()
45 wdt.timer_set_ms = ssb_chipco_watchdog_timer_set_ms; in ssb_watchdog_register()
46 wdt.max_timer_ms = bus->chipco.max_timer_ms; in ssb_watchdog_register()
48 wdt.driver_data = &bus->extif; in ssb_watchdog_register()
49 wdt.timer_set = ssb_extif_watchdog_timer_set_wdt; in ssb_watchdog_register()
50 wdt.timer_set_ms = ssb_extif_watchdog_timer_set_ms; in ssb_watchdog_register()
51 wdt.max_timer_ms = SSB_EXTIF_WATCHDOG_MAX_TIMER_MS; in ssb_watchdog_register()
57 bus->busnumber, &wdt, in ssb_watchdog_register()
[all …]
Dssb_private.h227 extern u32 ssb_chipco_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt,
229 extern u32 ssb_chipco_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms);
251 extern u32 ssb_extif_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt, u32 ticks);
252 extern u32 ssb_extif_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, u32 ms);
254 static inline u32 ssb_extif_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt, in ssb_extif_watchdog_timer_set_wdt() argument
259 static inline u32 ssb_extif_watchdog_timer_set_ms(struct bcm47xx_wdt *wdt, in ssb_extif_watchdog_timer_set_ms() argument
/drivers/bcma/
Ddriver_chipcommon.c58 static u32 bcma_chipco_watchdog_timer_set_wdt(struct bcm47xx_wdt *wdt, in bcma_chipco_watchdog_timer_set_wdt() argument
61 struct bcma_drv_cc *cc = bcm47xx_wdt_get_drvdata(wdt); in bcma_chipco_watchdog_timer_set_wdt()
66 static u32 bcma_chipco_watchdog_timer_set_ms_wdt(struct bcm47xx_wdt *wdt, in bcma_chipco_watchdog_timer_set_ms_wdt() argument
69 struct bcma_drv_cc *cc = bcm47xx_wdt_get_drvdata(wdt); in bcma_chipco_watchdog_timer_set_ms_wdt()
94 struct bcm47xx_wdt wdt = {}; in bcma_chipco_watchdog_register() local
97 wdt.driver_data = cc; in bcma_chipco_watchdog_register()
98 wdt.timer_set = bcma_chipco_watchdog_timer_set_wdt; in bcma_chipco_watchdog_register()
99 wdt.timer_set_ms = bcma_chipco_watchdog_timer_set_ms_wdt; in bcma_chipco_watchdog_register()
100 wdt.max_timer_ms = bcma_chipco_watchdog_get_max_timer(cc) / cc->ticks_per_ms; in bcma_chipco_watchdog_register()
103 cc->core->bus->num, &wdt, in bcma_chipco_watchdog_register()
[all …]

12