Skip to content

Commit 4eda19c

Browse files
gcoakesWim Van Sebroeck
authored andcommitted
watchdog: sp5100_tco: Immediately trigger upon starting.
The watchdog countdown is supposed to begin when the device file is opened. Instead, it would begin countdown upon the first write to or close of the device file. Now, the ping operation is called within the start operation which ensures the countdown begins. From experimenation, it does not appear possible to do this with a single write including both the start bit and the trigger bit. So, it is done as two distinct writes. Signed-off-by: Gregory Oakes <gregory.oakes@amd.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/20230316201312.17538-1-gregory.oakes@amd.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
1 parent fe5631b commit 4eda19c

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

drivers/watchdog/sp5100_tco.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ static int tco_timer_start(struct watchdog_device *wdd)
115115
val |= SP5100_WDT_START_STOP_BIT;
116116
writel(val, SP5100_WDT_CONTROL(tco->tcobase));
117117

118+
/* This must be a distinct write. */
119+
val |= SP5100_WDT_TRIGGER_BIT;
120+
writel(val, SP5100_WDT_CONTROL(tco->tcobase));
121+
118122
return 0;
119123
}
120124

0 commit comments

Comments
 (0)