linux-stable/drivers/watchdog
Werner Fischer 91828d9316 watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786
[ Upstream commit d12971849d ]

WDTCTRL bit 3 sets the mode choice for the clock input of IT8784/IT8786.
Some motherboards require this bit to be set to 1 (= PCICLK mode),
otherwise the watchdog functionality gets broken. The BIOS of those
motherboards sets WDTCTRL bit 3 already to 1.

Instead of setting all bits of WDTCTRL to 0 by writing 0x00 to it, keep
bit 3 of it unchanged for IT8784/IT8786 chips. In this way, bit 3 keeps
the status as set by the BIOS of the motherboard.

Watchdog tests have been successful with this patch with the following
systems:
  IT8784: Thomas-Krenn LES plus v2 (YANLING YL-KBRL2 V2)
  IT8786: Thomas-Krenn LES plus v3 (YANLING YL-CLU L2)
  IT8786: Thomas-Krenn LES network 6L v2 (YANLING YL-CLU6L)

Link: https://lore.kernel.org/all/140b264d-341f-465b-8715-dacfe84b3f71@roeck-us.net/

Signed-off-by: Werner Fischer <devlists@wefi.net>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20231213094525.11849-4-devlists@wefi.net
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-02-23 08:54:49 +01:00
..
acquirewdt.c
advantechwdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
alim1535_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
alim7101_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
ar7_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
arm_smc_wdt.c watchdog: Add new arm_smc_wdt watchdog driver 2020-05-25 08:55:46 +02:00
armada_37xx_wdt.c watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe() 2022-08-17 14:24:11 +02:00
asm9260_wdt.c
aspeed_wdt.c watchdog: aspeed: fix hardware timeout calculation 2021-06-21 08:49:04 +02:00
at91rm9200_wdt.c
at91sam9_wdt.c watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path 2023-03-11 13:57:27 +01:00
at91sam9_wdt.h
ath79_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
bcm47xx_wdt.c
bcm63xx_wdt.c
bcm2835_wdt.c watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling 2024-01-25 14:52:44 -08:00
bcm7038_wdt.c watchdog: bcm7038_wdt: add big endian support 2021-06-21 08:49:09 +02:00
bcm_kona_wdt.c watchdog: bcm_kona_wdt: Use correct return value for bcm_kona_wdt_probe() 2020-08-05 18:42:46 +02:00
bd9576_wdt.c wdt: Support wdt on ROHM BD9576MUF and BD9573MUF 2021-03-10 10:58:44 +00:00
booke_wdt.c watchdog: fix syntactic kernel-doc issues 2021-06-21 08:49:09 +02:00
cadence_wdt.c watchdog: cadence: Simplify with dev_err_probe() 2020-10-14 15:02:24 +02:00
cpu5wdt.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
cpwd.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
da9052_wdt.c
da9055_wdt.c
da9062_wdt.c watchdog: da9062: No need to ping manually before setting timeout 2020-05-25 08:55:44 +02:00
da9063_wdt.c watchdog: da9063: Make use of pre-configured timeout during probe 2020-05-25 08:55:43 +02:00
davinci_wdt.c watchdog: davinci: Simplify with dev_err_probe() 2020-10-14 15:02:25 +02:00
diag288_wdt.c watchdog: diag288_wdt: fix __diag288() inline assembly 2023-02-09 11:26:41 +01:00
digicolor_wdt.c
dw_wdt.c watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe() 2023-05-17 11:50:16 +02:00
ebc-c384_wdt.c
ep93xx_wdt.c
eurotechwdt.c watchdog: fix syntactic kernel-doc issues 2021-06-21 08:49:09 +02:00
f71808e_wdt.c watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT 2021-11-18 19:17:03 +01:00
ftwdt010_wdt.c
gef_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
geodewdt.c watchdog: geodewdt: remove unneeded break 2020-12-13 16:17:41 +01:00
gpio_wdt.c
hpwdt.c watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO 2024-01-25 14:52:44 -08:00
i6300esb.c
ib700wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
ibmasr.c
ie6xx_wdt.c
imgpdc_wdt.c
imx2_wdt.c watchdog: imx2_wdg: notify wdog core to stop ping worker on suspend 2021-08-22 10:28:08 +02:00
imx7ulp_wdt.c watchdog: imx7ulp: Watchdog should continue running for wait/stop mode 2020-10-14 15:02:26 +02:00
imx_sc_wdt.c watchdog: imx_sc_wdt: fix pretimeout 2021-06-21 08:49:14 +02:00
indydog.c
intel-mid_wdt.c watchdog: intel-mid_wdt: add MODULE_ALIAS() to allow auto-load 2023-09-19 12:22:57 +02:00
iop_wdt.c
it87_wdt.c watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786 2024-02-23 08:54:49 +01:00
it8712f_wdt.c watchdog: it8712f_wdt: remove definition of DEBUG 2021-02-07 14:41:18 +01:00
iTCO_vendor.h
iTCO_vendor_support.c
iTCO_wdt.c watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running 2023-10-06 13:18:20 +02:00
ixp4xx_wdt.c watchdog: ixp4xx_wdt: Fix address space warning 2021-10-26 20:22:51 +02:00
jz4740_wdt.c watchdog: jz4740: Fix return value check in jz4740_wdt_probe() 2021-06-21 08:49:11 +02:00
Kconfig ar7: fix kernel builds for compiler test 2021-11-18 19:17:03 +01:00
keembay_wdt.c watchdog: keembay: Typo corrections and other blank operations 2021-06-21 08:48:57 +02:00
kempld_wdt.c
lantiq_wdt.c
loongson1_wdt.c
lpc18xx_wdt.c watchdog: Fix possible use-after-free by calling del_timer_sync() 2021-06-21 08:49:03 +02:00
m54xx_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
machzwd.c watchdog: Fix fall-through warnings for Clang 2021-05-17 18:56:23 -05:00
Makefile watchdog: bd70528 drop bd70528 support 2021-08-22 10:28:06 +02:00
max63xx_wdt.c watchdog: max63xx_wdt: Add device tree probing 2021-08-22 10:28:11 +02:00
max77620_wdt.c
mei_wdt.c mei: fix kdoc in the driver 2021-06-22 12:40:31 +02:00
mena21_wdt.c
menf21bmc_wdt.c
menz69_wdt.c watchdog: menz069_wdt: fix watchdog initialisation 2023-06-09 10:32:19 +02:00
meson_gxbb_wdt.c
meson_wdt.c watchdog: meson_wdt: Use device_get_match_data() helper 2021-06-21 08:49:05 +02:00
mixcomwd.c
mlx_wdt.c watchdog: mlx-wdt: support new watchdog type with longer timeout period 2020-08-05 18:42:45 +02:00
moxart_wdt.c
mpc8xxx_wdt.c watchdog: mpc8xxx_wdt: Constify static struct watchdog_ops 2021-08-22 10:28:10 +02:00
msc313e_wdt.c watchdog: Add Mstar MSC313e WDT driver 2021-06-21 08:49:19 +02:00
mt7621_wdt.c
mtk_wdt.c watchdog: mediatek: mt8195: add wdt support 2021-08-22 10:28:11 +02:00
mtx-1_wdt.c watchdog: mtx-1: drop au1000.h header file 2021-06-21 08:48:58 +02:00
ni903x_wdt.c
nic7018_wdt.c
npcm_wdt.c watchdog: npcm: Add support for WPCM450 2021-04-09 14:11:24 +09:30
nv_tco.c watchdog: Replace HTTP links with HTTPS ones 2020-08-05 18:43:01 +02:00
nv_tco.h watchdog: Replace HTTP links with HTTPS ones 2020-08-05 18:43:01 +02:00
octeon-wdt-main.c linux-watchdog 5.14-rc1 tag 2021-07-07 12:57:46 -07:00
octeon-wdt-nmi.S
of_xilinx_wdt.c watchdog: of_xilinx_wdt: Skip printing pointer value 2021-06-21 08:49:08 +02:00
omap_wdt.c watchdog: Fix OMAP watchdog early handling 2021-10-26 20:22:51 +02:00
omap_wdt.h
orion_wdt.c watchdog: Fix a typo in the file orion_wdt.c 2021-06-21 08:49:12 +02:00
pc87413_wdt.c watchdog: fix syntactic kernel-doc issues 2021-06-21 08:49:09 +02:00
pcwd.c isa: Make the remove callback for isa drivers return void 2021-01-26 07:42:27 +01:00
pcwd_pci.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
pcwd_usb.c watchdog: pcwd_usb: Fix attempting to access uninitialized memory 2023-03-11 13:57:27 +01:00
pic32-dmt.c
pic32-wdt.c
pika_wdt.c
pm8916_wdt.c watchdog: pm8916_wdt: Add system sleep callbacks 2020-03-18 11:10:09 +01:00
pnx4008_wdt.c
pretimeout_noop.c
pretimeout_panic.c
qcom-wdt.c watchdog: qcom: Move suspend/resume to suspend_late/resume_early 2021-06-21 08:49:12 +02:00
rave-sp-wdt.c
rc32434_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
rdc321x_wdt.c drivers: watchdog: rdc321x_wdt: Fix race condition bugs 2020-10-14 15:02:21 +02:00
renesas_wdt.c watchdog: renesas_wdt: add grace period before rebooting 2021-02-07 14:41:22 +01:00
retu_wdt.c watchdog: retu_wdt: Clean-up by using managed work init 2021-03-23 15:22:40 +01:00
riowd.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
rn5t618_wdt.c
rt2880_wdt.c
rtd119x_wdt.c
rti_wdt.c watchdog: rti_wdt: Drop runtime pm reference count when watchdog is unused 2024-01-25 14:52:44 -08:00
rza_wdt.c
s3c2410_wdt.c
sa1100_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
sama5d4_wdt.c watchdog: sama5d4_wdt: add support for sama7g5-wdt 2021-06-21 08:49:16 +02:00
sb_wdog.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
sbc60xxwdt.c watchdog: Fix possible use-after-free in wdt_startup() 2021-06-21 08:48:59 +02:00
sbc7240_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
sbc8360.c
sbc_epx_c3.c
sbc_fitpc2_wdt.c watchdog: sbc_fitpc2_wdt: add __user annotations 2020-12-13 16:17:41 +01:00
sbsa_gwdt.c sbsa_gwdt: Calculate timeout with 64-bit math 2023-11-28 16:56:33 +00:00
sc520_wdt.c watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff() 2021-06-21 08:49:02 +02:00
sc1200wdt.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sch311x_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
scx200_wdt.c watchdog: scx200_wdt: Use fallthrough pseudo-keyword 2020-08-05 18:42:54 +02:00
shwdt.c
sl28cpld_wdt.c watchdog: sl28cpld_wdt: Constify static struct watchdog_ops 2021-08-22 10:28:09 +02:00
smsc37b787_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
softdog.c watchdog: softdog: Add options 'soft_reboot_cmd' and 'soft_active_on_boot' 2020-08-05 18:43:02 +02:00
sp805_wdt.c watchdog: sp805: Fix kernel doc description 2021-06-21 08:49:01 +02:00
sp5100_tco.c watchdog: sp5100_tco: support Hygon FCH/SCH (Server Controller Hub) 2023-08-26 14:23:25 +02:00
sp5100_tco.h Watchdog: sp5100_tco: Enable Family 17h+ CPUs 2022-05-25 09:57:23 +02:00
sprd_wdt.c watchdog: sprd: change to use usleep_range() instead of busy loop 2020-12-13 16:17:39 +01:00
st_lpc_wdt.c
stm32_iwdg.c watchdog: stm32_iwdg: don't print an error on probe deferral 2020-12-13 16:17:39 +01:00
stmp3xxx_rtc_wdt.c
stpmic1_wdt.c
sun4v_wdt.c
sunxi_wdt.c watchdog: sunxi_wdt: fix improper error exit code 2020-08-05 18:42:46 +02:00
tegra_wdt.c
tqmx86_wdt.c watchdog: tqmx86: Constify static struct watchdog_ops 2021-08-22 10:28:10 +02:00
ts72xx_wdt.c
ts4800_wdt.c watchdog: ts4800_wdt: Fix refcount leak in ts4800_wdt_probe 2022-06-14 18:36:09 +02:00
twl4030_wdt.c
txx9wdt.c
uniphier_wdt.c
ux500_wdt.c
via_wdt.c
visconti_wdt.c watchdog: Add Toshiba Visconti watchdog driver 2020-10-14 15:22:58 +02:00
w83627hf_wdt.c
w83877f_wdt.c watchdog: Fix possible use-after-free by calling del_timer_sync() 2021-06-21 08:49:03 +02:00
w83977f_wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
wafer5823wdt.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
watchdog_core.c watchdog: introduce watchdog_dev_suspend/resume 2021-08-22 10:28:08 +02:00
watchdog_core.h watchdog: Add hrtimer-based pretimeout feature 2021-06-21 08:49:13 +02:00
watchdog_dev.c watchdog: set cdev owner before adding 2024-01-25 14:52:44 -08:00
watchdog_hrtimer_pretimeout.c watchdog: Add hrtimer-based pretimeout feature 2021-06-21 08:49:13 +02:00
watchdog_pretimeout.c watchdog: Add hrtimer-based pretimeout feature 2021-06-21 08:49:13 +02:00
watchdog_pretimeout.h
wd501p.h
wdat_wdt.c watchdog: wdat_wdt: Stop watchdog when rebooting the system 2022-06-14 18:36:22 +02:00
wdrtas.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
wdt.c watchdog: fix syntactic kernel-doc issues 2021-06-21 08:49:09 +02:00
wdt285.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
wdt977.c watchdog: Use fallthrough pseudo-keyword 2020-08-05 18:42:53 +02:00
wdt_pci.c watchdog: fix syntactic kernel-doc issues 2021-06-21 08:49:09 +02:00
wm831x_wdt.c watchdog: wm831x_wdt: Remove GPIO handling 2020-03-18 11:15:24 +01:00
wm8350_wdt.c
xen_wdt.c
ziirave_wdt.c watchdog: ziirave_wdt: Remove VERSION_FMT defines and add sysfs newlines 2021-06-21 08:49:15 +02:00