From ca7d1a88e58b10688997b9fd01b8368c7f015db9 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 26 May 2023 15:05:31 +0100 Subject: [PATCH] 5.4-stable patches added patches: watchdog-sp5100_tco-immediately-trigger-upon-starting.patch --- queue-5.4/series | 1 + ...co-immediately-trigger-upon-starting.patch | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 queue-5.4/watchdog-sp5100_tco-immediately-trigger-upon-starting.patch diff --git a/queue-5.4/series b/queue-5.4/series index 12bec450850..6dcd1fe08ec 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -120,3 +120,4 @@ vc_screen-rewrite-vcs_size-to-accept-vc-not-inode.patch vc_screen-reload-load-of-struct-vc_data-pointer-in-v.patch s390-qdio-get-rid-of-register-asm.patch s390-qdio-fix-do_sqbs-inline-assembly-constraint.patch +watchdog-sp5100_tco-immediately-trigger-upon-starting.patch diff --git a/queue-5.4/watchdog-sp5100_tco-immediately-trigger-upon-starting.patch b/queue-5.4/watchdog-sp5100_tco-immediately-trigger-upon-starting.patch new file mode 100644 index 00000000000..e739a79680c --- /dev/null +++ b/queue-5.4/watchdog-sp5100_tco-immediately-trigger-upon-starting.patch @@ -0,0 +1,41 @@ +From 4eda19cc8a29cde3580ed73bf11dc73b4e757697 Mon Sep 17 00:00:00 2001 +From: Gregory Oakes +Date: Thu, 16 Mar 2023 15:13:12 -0500 +Subject: watchdog: sp5100_tco: Immediately trigger upon starting. + +From: Gregory Oakes + +commit 4eda19cc8a29cde3580ed73bf11dc73b4e757697 upstream. + +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 +Reviewed-by: Guenter Roeck +Link: https://lore.kernel.org/r/20230316201312.17538-1-gregory.oakes@amd.com +Signed-off-by: Guenter Roeck +Signed-off-by: Wim Van Sebroeck +Cc: Mario Limonciello +Signed-off-by: Greg Kroah-Hartman +--- + drivers/watchdog/sp5100_tco.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/watchdog/sp5100_tco.c ++++ b/drivers/watchdog/sp5100_tco.c +@@ -98,6 +98,10 @@ static int tco_timer_start(struct watchd + val |= SP5100_WDT_START_STOP_BIT; + writel(val, SP5100_WDT_CONTROL(tco->tcobase)); + ++ /* This must be a distinct write. */ ++ val |= SP5100_WDT_TRIGGER_BIT; ++ writel(val, SP5100_WDT_CONTROL(tco->tcobase)); ++ + return 0; + } + -- 2.47.3