/kernel/linux/linux-6.6/drivers/watchdog/ |
H A D | hpwdt.c | 39 static bool pretimeout = IS_ENABLED(CONFIG_HPWDT_NMI_DECODING); variable 72 int control = 0x81 | (pretimeout ? 0x4 : 0); in hpwdt_start() 126 if (val <= wdd->pretimeout) { in hpwdt_settimeout() 127 dev_dbg(wdd->parent, "pretimeout < timeout. Setting to zero\n"); in hpwdt_settimeout() 128 wdd->pretimeout = 0; in hpwdt_settimeout() 129 pretimeout = false; in hpwdt_settimeout() 151 dev_dbg(wdd->parent, "Rounding pretimeout to: %d\n", val); in hpwdt_set_pretimeout() 153 wdd->pretimeout = val; in hpwdt_set_pretimeout() 154 pretimeout = !!val; in hpwdt_set_pretimeout() 184 if (ilo5 && !pretimeout in hpwdt_pretimeout() [all...] |
H A D | kempld_wdt.c | 8 * Note: From the PLD watchdog point of view timeout and pretimeout are 10 * First the pretimeout stage runs out before the timeout stage gets 13 * Kernel/API: P-----| pretimeout 76 unsigned int pretimeout; member 90 static unsigned int pretimeout = DEFAULT_PRETIMEOUT; variable 91 module_param(pretimeout, uint, 0); 92 MODULE_PARM_DESC(pretimeout, 93 "Watchdog pretimeout in seconds. (>=0, default=" 208 if (pretimeout_stage->mask && wdt_data->pretimeout > 0) in kempld_wdt_set_timeout() 209 timeout = wdt_data->pretimeout; in kempld_wdt_set_timeout() 224 kempld_wdt_set_pretimeout(struct watchdog_device *wdd, unsigned int pretimeout) kempld_wdt_set_pretimeout() argument 261 unsigned int pretimeout, timeout; kempld_wdt_update_timeouts() local [all...] |
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() 98 wdev->pretimeout = pretimeout; in pm8916_wdt_set_pretimeout() 226 wdt->wdev.pretimeout = 0; in pm8916_wdt_probe() 95 pm8916_wdt_set_pretimeout(struct watchdog_device *wdev, unsigned int pretimeout) pm8916_wdt_set_pretimeout() argument
|
H A D | qcom-wdt.c | 43 bool pretimeout; member 76 unsigned int bark = wdd->timeout - wdd->pretimeout; in qcom_wdt_start() 112 wdd->pretimeout = timeout; in qcom_wdt_set_pretimeout() 179 .pretimeout = false, 184 .pretimeout = true, 244 /* check if there is pretimeout support */ in qcom_wdt_probe() 246 if (data->pretimeout && irq > 0) { in qcom_wdt_probe() 253 wdt->wdd.pretimeout = 1; in qcom_wdt_probe()
|
H A D | mtk_wdt.c | 222 if (wdt_dev->pretimeout) in mtk_wdt_set_timeout() 223 wdt_dev->pretimeout = timeout / 2; in mtk_wdt_set_timeout() 229 reg = WDT_LENGTH_TIMEOUT((timeout - wdt_dev->pretimeout) << 6) in mtk_wdt_set_timeout() 277 if (wdt_dev->pretimeout) in mtk_wdt_start() 298 if (timeout && !wdd->pretimeout) { in mtk_wdt_set_pretimeout() 299 wdd->pretimeout = wdd->timeout / 2; in mtk_wdt_set_pretimeout() 301 } else if (!timeout && wdd->pretimeout) { in mtk_wdt_set_pretimeout() 302 wdd->pretimeout = 0; in mtk_wdt_set_pretimeout() 373 mtk_wdt->wdt_dev.pretimeout = WDT_MAX_TIMEOUT / 2; in mtk_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 | imx_sc_wdt.c | 96 unsigned int pretimeout) in imx_sc_wdt_set_pretimeout() 101 * SCU firmware calculates pretimeout based on current time in imx_sc_wdt_set_pretimeout() 103 * the pretimeout to SCU firmware's timeout value. in imx_sc_wdt_set_pretimeout() 106 (wdog->timeout - pretimeout) * 1000, 0, 0, 0, in imx_sc_wdt_set_pretimeout() 111 wdog->pretimeout = pretimeout; in imx_sc_wdt_set_pretimeout() 190 dev_warn(dev, "Enable irq failed, pretimeout NOT supported\n"); in imx_sc_wdt_probe() 201 "Register irq notifier failed, pretimeout NOT supported\n"); in imx_sc_wdt_probe() 210 dev_warn(dev, "Add action failed, pretimeout NOT supported\n"); in imx_sc_wdt_probe() 95 imx_sc_wdt_set_pretimeout(struct watchdog_device *wdog, unsigned int pretimeout) imx_sc_wdt_set_pretimeout() argument
|
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 | 34 * First timeout is effectively watchdog pretimeout. 113 if (!wdev->pretimeout) in gti_wdt_start() 161 wdev->pretimeout = timeout / 3; in gti_wdt_settimeout() 163 /* Get clock cycles from pretimeout */ in gti_wdt_settimeout() 164 timeout_wdog = (u64)priv->clock_freq * wdev->pretimeout; in gti_wdt_settimeout() 193 /* pretimeout should 1/3 of max_timeout */ in gti_wdt_set_pretimeout() 291 wdog_dev->pretimeout = max_pretimeout; in gti_wdt_probe() 293 /* Maximum timeout is 3 times the pretimeout */ in gti_wdt_probe() 295 /* Minimum first timeout (pretimeout) is 1, so min_timeout as 3 */ in gti_wdt_probe() 297 wdog_dev->timeout = wdog_dev->pretimeout; in gti_wdt_probe() [all...] |
H A D | sprd_wdt.c | 106 u32 pretimeout) in sprd_wdt_load_value() 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() 105 sprd_wdt_load_value(struct sprd_wdt *wdt, u32 timeout, u32 pretimeout) sprd_wdt_load_value() argument
|
H A D | realtek_otto_wdt.c | 61 * pretimeout values for timeouts longer than 32 ticks. Limit the maximum timeout 62 * to 32 + 1 to ensure small pretimeout values can be configured as expected. 124 unsigned int pretimeout) in otto_wdt_determine_timeouts() 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() 332 * Since pretimeout cannot be disabled, min. timeout is twice the in otto_wdt_probe() 123 otto_wdt_determine_timeouts(struct watchdog_device *wdev, unsigned int timeout, unsigned int pretimeout) otto_wdt_determine_timeouts() argument
|
H A D | aspeed_wdt.c | 182 unsigned int pretimeout) in aspeed_wdt_set_pretimeout() 185 u32 actual = pretimeout * WDT_RATE_1MHZ; in aspeed_wdt_set_pretimeout() 189 wdd->pretimeout = pretimeout; in aspeed_wdt_set_pretimeout() 191 if (pretimeout) in aspeed_wdt_set_pretimeout() 181 aspeed_wdt_set_pretimeout(struct watchdog_device *wdd, unsigned int pretimeout) aspeed_wdt_set_pretimeout() argument
|
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_noop.c | 13 * pretimeout_noop - No operation on watchdog pretimeout event 16 * This function prints a message about pretimeout to kernel log. 20 pr_alert("watchdog%d: pretimeout event\n", wdd->id); in pretimeout_noop() 25 .pretimeout = pretimeout_noop, 41 MODULE_DESCRIPTION("Panic watchdog pretimeout governor");
|
/kernel/linux/linux-5.10/drivers/watchdog/ |
H A D | hpwdt.c | 36 static bool pretimeout = IS_ENABLED(CONFIG_HPWDT_NMI_DECODING); variable 68 int control = 0x81 | (pretimeout ? 0x4 : 0); in hpwdt_start() 122 if (val <= wdd->pretimeout) { in hpwdt_settimeout() 123 dev_dbg(wdd->parent, "pretimeout < timeout. Setting to zero\n"); in hpwdt_settimeout() 124 wdd->pretimeout = 0; in hpwdt_settimeout() 125 pretimeout = 0; in hpwdt_settimeout() 147 dev_dbg(wdd->parent, "Rounding pretimeout to: %d\n", val); in hpwdt_set_pretimeout() 149 wdd->pretimeout = val; in hpwdt_set_pretimeout() 150 pretimeout = !!val; in hpwdt_set_pretimeout() 180 if (ilo5 && !pretimeout in hpwdt_pretimeout() [all...] |
H A D | kempld_wdt.c | 8 * Note: From the PLD watchdog point of view timeout and pretimeout are 10 * First the pretimeout stage runs out before the timeout stage gets 13 * Kernel/API: P-----| pretimeout 76 unsigned int pretimeout; member 92 static unsigned int pretimeout = DEFAULT_PRETIMEOUT; variable 93 module_param(pretimeout, uint, 0); 94 MODULE_PARM_DESC(pretimeout, 95 "Watchdog pretimeout in seconds. (>=0, default=" 210 if (pretimeout_stage->mask && wdt_data->pretimeout > 0) in kempld_wdt_set_timeout() 211 timeout = wdt_data->pretimeout; in kempld_wdt_set_timeout() 226 kempld_wdt_set_pretimeout(struct watchdog_device *wdd, unsigned int pretimeout) kempld_wdt_set_pretimeout() argument 263 unsigned int pretimeout, timeout; kempld_wdt_update_timeouts() local [all...] |
H A D | pm8916_wdt.c | 73 wdev->timeout - wdev->pretimeout); in pm8916_wdt_configure_timers() 79 wdev->pretimeout); in pm8916_wdt_configure_timers() 91 unsigned int pretimeout) in pm8916_wdt_set_pretimeout() 93 wdev->pretimeout = pretimeout; in pm8916_wdt_set_pretimeout() 193 wdt->wdev.pretimeout = 0; in pm8916_wdt_probe() 90 pm8916_wdt_set_pretimeout(struct watchdog_device *wdev, unsigned int pretimeout) pm8916_wdt_set_pretimeout() argument
|
H A D | qcom-wdt.c | 44 bool pretimeout; member 77 unsigned int bark = wdd->timeout - wdd->pretimeout; in qcom_wdt_start() 113 wdd->pretimeout = timeout; in qcom_wdt_set_pretimeout() 178 .pretimeout = false, 183 .pretimeout = true, 252 /* check if there is pretimeout support */ in qcom_wdt_probe() 254 if (data->pretimeout && irq > 0) { in qcom_wdt_probe() 261 wdt->wdd.pretimeout = 1; in qcom_wdt_probe()
|
H A D | imx_sc_wdt.c | 96 unsigned int pretimeout) in imx_sc_wdt_set_pretimeout() 101 * SCU firmware calculates pretimeout based on current time in imx_sc_wdt_set_pretimeout() 103 * the pretimeout to SCU firmware's timeout value. in imx_sc_wdt_set_pretimeout() 106 (wdog->timeout - pretimeout) * 1000, 0, 0, 0, in imx_sc_wdt_set_pretimeout() 111 wdog->pretimeout = pretimeout; in imx_sc_wdt_set_pretimeout() 190 dev_warn(dev, "Enable irq failed, pretimeout NOT supported\n"); in imx_sc_wdt_probe() 201 "Register irq notifier failed, pretimeout NOT supported\n"); in imx_sc_wdt_probe() 210 dev_warn(dev, "Add action failed, pretimeout NOT supported\n"); in imx_sc_wdt_probe() 95 imx_sc_wdt_set_pretimeout(struct watchdog_device *wdog, unsigned int pretimeout) imx_sc_wdt_set_pretimeout() argument
|
H A D | sprd_wdt.c | 105 u32 pretimeout) in sprd_wdt_load_value() 109 u32 prtmr_step = pretimeout * SPRD_WDT_CNT_STEP; in sprd_wdt_load_value() 181 ret = sprd_wdt_load_value(wdt, wdd->timeout, wdd->pretimeout); in sprd_wdt_start() 219 return sprd_wdt_load_value(wdt, timeout, wdd->pretimeout); in sprd_wdt_set_timeout() 230 wdd->pretimeout = new_pretimeout; in sprd_wdt_set_pretimeout() 104 sprd_wdt_load_value(struct sprd_wdt *wdt, u32 timeout, u32 pretimeout) sprd_wdt_load_value() argument
|
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_noop.c | 13 * pretimeout_noop - No operation on watchdog pretimeout event 16 * This function prints a message about pretimeout to kernel log. 20 pr_alert("watchdog%d: pretimeout event\n", wdd->id); in pretimeout_noop() 25 .pretimeout = pretimeout_noop, 41 MODULE_DESCRIPTION("Panic watchdog pretimeout governor");
|
H A D | pretimeout_panic.c | 13 * pretimeout_panic - Panic on watchdog pretimeout event 16 * Panic, watchdog has not been fed till pretimeout event. 20 panic("watchdog pretimeout event\n"); in pretimeout_panic() 25 .pretimeout = pretimeout_panic, 41 MODULE_DESCRIPTION("Panic watchdog pretimeout governor");
|
/kernel/linux/linux-5.10/drivers/char/ipmi/ |
H A D | ipmi_watchdog.c | 135 static int pretimeout; variable 282 module_param(pretimeout, timeout, 0644); 283 MODULE_PARM_DESC(pretimeout, "Pretimeout value in seconds."); 326 /* If a pretimeout occurs, this is used to allow only one panic to happen. */ 394 if ((pretimeout > 0) && (ipmi_watchdog_state != WDOG_TIMEOUT_NONE)) { in __ipmi_set_timeout() 396 data[2] = pretimeout; in __ipmi_set_timeout() 399 data[2] = 0; /* No pretimeout. */ in __ipmi_set_timeout() 647 * A pretimeout occurred, make sure we set the timeout. in _ipmi_heartbeat() 706 pretimeout = val; in ipmi_ioctl() 710 i = copy_to_user(argp, &pretimeout, sizeo in ipmi_ioctl() [all...] |
/kernel/linux/linux-6.6/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."); 326 /* If a pretimeout occurs, this is used to allow only one panic to happen. */ 390 if ((pretimeout > 0) && (ipmi_watchdog_state != WDOG_TIMEOUT_NONE)) { in __ipmi_set_timeout() 392 data[2] = pretimeout; in __ipmi_set_timeout() 395 data[2] = 0; /* No pretimeout. */ in __ipmi_set_timeout() 639 * A pretimeout occurred, make sure we set the timeout. in _ipmi_heartbeat() 698 pretimeout = val; in ipmi_ioctl() 702 i = copy_to_user(argp, &pretimeout, sizeo in ipmi_ioctl() [all...] |