Lines Matching refs:gwdt

121 	struct sbsa_gwdt *gwdt = watchdog_get_drvdata(wdd);  in sbsa_gwdt_set_timeout()  local
126 writel(gwdt->clk * timeout, in sbsa_gwdt_set_timeout()
127 gwdt->control_base + SBSA_GWDT_WOR); in sbsa_gwdt_set_timeout()
134 writel(gwdt->clk / 2 * timeout, in sbsa_gwdt_set_timeout()
135 gwdt->control_base + SBSA_GWDT_WOR); in sbsa_gwdt_set_timeout()
142 struct sbsa_gwdt *gwdt = watchdog_get_drvdata(wdd); in sbsa_gwdt_get_timeleft() local
151 !(readl(gwdt->control_base + SBSA_GWDT_WCS) & SBSA_GWDT_WCS_WS0)) in sbsa_gwdt_get_timeleft()
152 timeleft += readl(gwdt->control_base + SBSA_GWDT_WOR); in sbsa_gwdt_get_timeleft()
154 timeleft += lo_hi_readq(gwdt->control_base + SBSA_GWDT_WCV) - in sbsa_gwdt_get_timeleft()
157 do_div(timeleft, gwdt->clk); in sbsa_gwdt_get_timeleft()
164 struct sbsa_gwdt *gwdt = watchdog_get_drvdata(wdd); in sbsa_gwdt_keepalive() local
170 writel(0, gwdt->refresh_base + SBSA_GWDT_WRR); in sbsa_gwdt_keepalive()
177 struct sbsa_gwdt *gwdt = watchdog_get_drvdata(wdd); in sbsa_gwdt_start() local
180 writel(SBSA_GWDT_WCS_EN, gwdt->control_base + SBSA_GWDT_WCS); in sbsa_gwdt_start()
187 struct sbsa_gwdt *gwdt = watchdog_get_drvdata(wdd); in sbsa_gwdt_stop() local
190 writel(0, gwdt->control_base + SBSA_GWDT_WCS); in sbsa_gwdt_stop()
224 struct sbsa_gwdt *gwdt; in sbsa_gwdt_probe() local
228 gwdt = devm_kzalloc(dev, sizeof(*gwdt), GFP_KERNEL); in sbsa_gwdt_probe()
229 if (!gwdt) in sbsa_gwdt_probe()
231 platform_set_drvdata(pdev, gwdt); in sbsa_gwdt_probe()
246 gwdt->clk = arch_timer_get_cntfrq(); in sbsa_gwdt_probe()
247 gwdt->refresh_base = rf_base; in sbsa_gwdt_probe()
248 gwdt->control_base = cf_base; in sbsa_gwdt_probe()
250 wdd = &gwdt->wdd; in sbsa_gwdt_probe()
255 wdd->max_hw_heartbeat_ms = U32_MAX / gwdt->clk * 1000; in sbsa_gwdt_probe()
257 watchdog_set_drvdata(wdd, gwdt); in sbsa_gwdt_probe()
280 pdev->name, gwdt)) { in sbsa_gwdt_probe()
310 wdd->timeout, gwdt->clk, action, in sbsa_gwdt_probe()
319 struct sbsa_gwdt *gwdt = dev_get_drvdata(dev); in sbsa_gwdt_suspend() local
321 if (watchdog_active(&gwdt->wdd)) in sbsa_gwdt_suspend()
322 sbsa_gwdt_stop(&gwdt->wdd); in sbsa_gwdt_suspend()
330 struct sbsa_gwdt *gwdt = dev_get_drvdata(dev); in sbsa_gwdt_resume() local
332 if (watchdog_active(&gwdt->wdd)) in sbsa_gwdt_resume()
333 sbsa_gwdt_start(&gwdt->wdd); in sbsa_gwdt_resume()