| /linux-6.15/drivers/watchdog/ |
| H A D | cgbc_wdt.c | 43 static unsigned int pretimeout = CGBC_WDT_DEFAULT_PRETIMEOUT; variable 44 module_param(pretimeout, uint, 0); 45 MODULE_PARM_DESC(pretimeout, 76 unsigned int timeout1 = (wdd->timeout - wdd->pretimeout) * 1000; in cgbc_wdt_start() 77 unsigned int timeout2 = wdd->pretimeout * 1000; in cgbc_wdt_start() 91 if (wdd->pretimeout) { in cgbc_wdt_start() 127 unsigned int pretimeout) in cgbc_wdt_set_pretimeout() argument 129 wdd->pretimeout = pretimeout; in cgbc_wdt_set_pretimeout() 140 if (timeout < wdd->pretimeout) in cgbc_wdt_set_timeout() 141 wdd->pretimeout = 0; in cgbc_wdt_set_timeout() [all …]
|
| H A D | hpwdt.c | 125 if (val <= wdd->pretimeout) { in hpwdt_settimeout() 127 wdd->pretimeout = 0; in hpwdt_settimeout() 128 pretimeout = false; in hpwdt_settimeout() 152 wdd->pretimeout = val; in hpwdt_set_pretimeout() 153 pretimeout = !!val; in hpwdt_set_pretimeout() 229 .pretimeout = PRETIMEOUT_SEC, 338 pretimeout = false; in hpwdt_init_one() 344 pretimeout = false; in hpwdt_init_one() 346 hpwdt_dev.pretimeout = pretimeout ? PRETIMEOUT_SEC : 0; in hpwdt_init_one() 359 pretimeout ? "on" : "off"); in hpwdt_init_one() [all …]
|
| H A D | kempld_wdt.c | 76 unsigned int pretimeout; member 91 module_param(pretimeout, uint, 0); 92 MODULE_PARM_DESC(pretimeout, 209 timeout = wdt_data->pretimeout; in kempld_wdt_set_timeout() 225 unsigned int pretimeout) in kempld_wdt_set_pretimeout() argument 237 if (pretimeout > wdd->timeout) in kempld_wdt_set_pretimeout() 240 if (pretimeout > 0) in kempld_wdt_set_pretimeout() 248 wdd->timeout - pretimeout); in kempld_wdt_set_pretimeout() 252 wdt_data->pretimeout = pretimeout; in kempld_wdt_set_pretimeout() 271 if (pretimeout) in kempld_wdt_update_timeouts() [all …]
|
| H A D | qcom-wdt.c | 43 bool pretimeout; member 77 unsigned int bark = wdd->timeout - wdd->pretimeout; in qcom_wdt_start() 113 wdd->pretimeout = timeout; in qcom_wdt_set_pretimeout() 180 .pretimeout = false, 186 .pretimeout = true, 249 if (data->pretimeout && irq > 0) { in qcom_wdt_probe() 256 wdt->wdd.pretimeout = 1; in qcom_wdt_probe()
|
| H A D | pm8916_wdt.c | 78 wdev->timeout - wdev->pretimeout); in pm8916_wdt_configure_timers() 84 wdev->pretimeout); in pm8916_wdt_configure_timers() 96 unsigned int pretimeout) in pm8916_wdt_set_pretimeout() argument 98 wdev->pretimeout = pretimeout; in pm8916_wdt_set_pretimeout() 226 wdt->wdev.pretimeout = 0; in pm8916_wdt_probe()
|
| H A D | mtk_wdt.c | 272 if (wdt_dev->pretimeout) in mtk_wdt_set_timeout() 273 wdt_dev->pretimeout = timeout / 2; in mtk_wdt_set_timeout() 279 reg = WDT_LENGTH_TIMEOUT((timeout - wdt_dev->pretimeout) << 6) in mtk_wdt_set_timeout() 327 if (wdt_dev->pretimeout) in mtk_wdt_start() 348 if (timeout && !wdd->pretimeout) { in mtk_wdt_set_pretimeout() 349 wdd->pretimeout = wdd->timeout / 2; in mtk_wdt_set_pretimeout() 351 } else if (!timeout && wdd->pretimeout) { in mtk_wdt_set_pretimeout() 352 wdd->pretimeout = 0; in mtk_wdt_set_pretimeout() 423 mtk_wdt->wdt_dev.pretimeout = WDT_MAX_TIMEOUT / 2; in mtk_wdt_probe()
|
| H A D | stm32_iwdg.c | 105 if (!wdd->pretimeout) in stm32_iwdg_start() 106 wdd->pretimeout = 3 * wdd->timeout / 4; in stm32_iwdg_start() 110 ptot = clamp_t(unsigned int, tout - wdd->pretimeout, in stm32_iwdg_start() 172 unsigned int pretimeout) in stm32_iwdg_set_pretimeout() argument 174 dev_dbg(wdd->parent, "%s pretimeout: %d sec\n", __func__, pretimeout); in stm32_iwdg_set_pretimeout() 176 wdd->pretimeout = pretimeout; in stm32_iwdg_set_pretimeout()
|
| H A D | imx_sc_wdt.c | 118 unsigned int pretimeout) in imx_sc_wdt_set_pretimeout() argument 128 (wdog->timeout - pretimeout) * 1000, 0, 0, 0, in imx_sc_wdt_set_pretimeout() 133 wdog->pretimeout = pretimeout; in imx_sc_wdt_set_pretimeout()
|
| H A D | keembay_wdt.c | 82 if (wdog->pretimeout) in keembay_wdt_set_pretimeout_reg() 83 th_val = wdog->timeout - wdog->pretimeout; in keembay_wdt_set_pretimeout_reg() 127 wdog->pretimeout = t; in keembay_wdt_set_pretimeout() 235 wdt->wdd.pretimeout = WDT_PRETIMEOUT; in keembay_wdt_probe() 241 keembay_wdt_set_pretimeout(&wdt->wdd, wdt->wdd.pretimeout); in keembay_wdt_probe()
|
| H A D | marvell_gti_wdt.c | 113 if (!wdev->pretimeout) in gti_wdt_start() 161 wdev->pretimeout = timeout / 3; in gti_wdt_settimeout() 164 timeout_wdog = (u64)priv->clock_freq * wdev->pretimeout; in gti_wdt_settimeout() 298 wdog_dev->pretimeout = max_pretimeout; in gti_wdt_probe() 305 wdog_dev->timeout = wdog_dev->pretimeout; in gti_wdt_probe()
|
| H A D | watchdog_hrtimer_pretimeout.c | 33 !watchdog_pretimeout_invalid(wdd, wdd->pretimeout)) in watchdog_hrtimer_pretimeout_start() 35 ktime_set(wdd->timeout - wdd->pretimeout, 0), in watchdog_hrtimer_pretimeout_start()
|
| H A D | sprd_wdt.c | 106 u32 pretimeout) in sprd_wdt_load_value() argument 110 u32 prtmr_step = pretimeout * SPRD_WDT_CNT_STEP; in sprd_wdt_load_value() 184 ret = sprd_wdt_load_value(wdt, wdd->timeout, wdd->pretimeout); in sprd_wdt_start() 222 return sprd_wdt_load_value(wdt, timeout, wdd->pretimeout); in sprd_wdt_set_timeout() 233 wdd->pretimeout = new_pretimeout; in sprd_wdt_set_pretimeout()
|
| H A D | realtek_otto_wdt.c | 124 unsigned int pretimeout) in otto_wdt_determine_timeouts() argument 127 unsigned int pretimeout_ms = pretimeout * 1000; in otto_wdt_determine_timeouts() 164 ctrl->wdev.pretimeout = pretimeout_ms / 1000; in otto_wdt_determine_timeouts() 171 return otto_wdt_determine_timeouts(wdev, val, min(wdev->pretimeout, val - 1)); in otto_wdt_set_timeout()
|
| H A D | aspeed_wdt.c | 211 unsigned int pretimeout) in aspeed_wdt_set_pretimeout() argument 214 u32 actual = pretimeout * WDT_RATE_1MHZ; in aspeed_wdt_set_pretimeout() 218 wdd->pretimeout = pretimeout; in aspeed_wdt_set_pretimeout() 220 if (pretimeout) in aspeed_wdt_set_pretimeout()
|
| H A D | softdog.c | 141 if (w->pretimeout) in softdog_ping() 143 ktime_set(w->timeout - w->pretimeout, 0), in softdog_ping()
|
| H A D | pretimeout_panic.c | 25 .pretimeout = pretimeout_panic,
|
| H A D | pretimeout_noop.c | 25 .pretimeout = pretimeout_noop,
|
| H A D | watchdog_pretimeout.h | 11 void (*pretimeout)(struct watchdog_device *wdd); member
|
| H A D | watchdog_dev.c | 385 if (wdd->pretimeout >= wdd->timeout) in watchdog_set_timeout() 386 wdd->pretimeout = 0; in watchdog_set_timeout() 415 wdd->pretimeout = timeout; in watchdog_set_pretimeout() 547 return sysfs_emit(buf, "%u\n", wdd->pretimeout); in pretimeout_show() 549 static DEVICE_ATTR_RO(pretimeout); 841 err = put_user(wdd->pretimeout, p); in watchdog_ioctl()
|
| H A D | dw_wdt.c | 215 wdd->pretimeout = timeout; in dw_wdt_set_timeout() 217 wdd->pretimeout = 0; in dw_wdt_set_timeout() 331 sec += wdd->pretimeout; in dw_wdt_get_timeleft()
|
| /linux-6.15/Documentation/watchdog/ |
| H A D | hpwdt.rst | 32 pretimeout allows the user to set the watchdog pretimeout value. 35 zero disables the pretimeout NMI. 53 Due to limitations in the iLO hardware, the NMI pretimeout if enabled, 54 can only be set to 9 seconds. Attempts to set pretimeout to other 56 the pretimeout value after attempting to set pretimeout or timeout.
|
| H A D | watchdog-api.rst | 124 pretimeout = 10; 125 ioctl(fd, WDIOC_SETPRETIMEOUT, &pretimeout); 127 Note that the pretimeout is the number of seconds before the time 129 the pretimeout. So, for instance, if you set the timeout to 60 seconds 130 and the pretimeout to 10 seconds, the pretimeout will go off in 50 131 seconds. Setting a pretimeout to zero disables it. 133 There is also a get function for getting the pretimeout:: 136 printf("The pretimeout was is %d seconds\n", timeout); 138 Not all watchdog drivers will support a pretimeout.
|
| H A D | watchdog-kernel-api.rst | 56 unsigned int pretimeout; 82 * gov: a pointer to the assigned watchdog device pretimeout governor or NULL. 86 * pretimeout: the watchdog timer's pretimeout value (in seconds). 215 * set_pretimeout: this routine checks and changes the pretimeout value of 216 the watchdog. It is optional because not all watchdogs support pretimeout 220 the watchdog". A value of 0 disables pretimeout notification. 226 watchdog_device.pretimeout, this callback can be omitted. That means if 329 To raise a pretimeout notification, the following function should be used:: 333 The function can be called in the interrupt context. If watchdog pretimeout 335 an action is taken by a preconfigured pretimeout governor preassigned to [all …]
|
| /linux-6.15/drivers/char/ipmi/ |
| H A D | ipmi_watchdog.c | 136 static int pretimeout; variable 282 module_param(pretimeout, timeout, 0644); 283 MODULE_PARM_DESC(pretimeout, "Pretimeout value in seconds."); 392 data[2] = pretimeout; in __ipmi_set_timeout() 698 pretimeout = val; in ipmi_ioctl() 702 i = copy_to_user(argp, &pretimeout, sizeof(pretimeout)); in ipmi_ioctl() 968 pretimeout = 0; in ipmi_wdog_panic_handler() 1015 int old_pretimeout = pretimeout; in ipmi_register_watchdog() 1025 pretimeout = 99; in ipmi_register_watchdog() 1046 pretimeout = old_pretimeout; in ipmi_register_watchdog() [all …]
|
| /linux-6.15/Documentation/ABI/testing/ |
| H A D | sysfs-class-watchdog | 71 What: /sys/class/watchdog/watchdogn/pretimeout 76 timeout when the pretimeout interrupt is delivered. Pretimeout 83 It is a read only file. It shows the pretimeout governors 91 pretimeout governor is returned. When written, it sets 92 the pretimeout governor.
|