linux-watchdog.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: shruthi.sanil@intel.com
To: wim@linux-watchdog.org, linux@roeck-us.net,
	linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: andriy.shevchenko@linux.intel.com, kris.pan@linux.intel.com,
	mgross@linux.intel.com, srikanth.thokala@intel.com,
	lakshmi.bai.raja.subramanian@intel.com,
	mallikarjunappa.sangannavar@intel.com, shruthi.sanil@intel.com
Subject: [PATCH 01/10] watchdog: keembay: Update WDT pre-timeout during the initialization
Date: Wed, 12 May 2021 14:17:15 +0530	[thread overview]
Message-ID: <20210512084724.14634-2-shruthi.sanil@intel.com> (raw)
In-Reply-To: <20210512084724.14634-1-shruthi.sanil@intel.com>

From: Shruthi Sanil <shruthi.sanil@intel.com>

The pretimeout register has a default reset value. Hence
when a smaller WDT timeout is set which would be lesser than the
default pretimeout, the system behaves abnormally, starts
triggering the pretimeout interrupt even when the WDT is
not enabled, most of the times leading to system crash.
Hence an update in the pre-timeout is also required for the
default timeout that is being configured.

Fixes: fa0f8d51e90d ("watchdog: Add watchdog driver for Intel Keembay Soc")
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Kris Pan <kris.pan@intel.com>
Signed-off-by: Shruthi Sanil <shruthi.sanil@intel.com>
---
 drivers/watchdog/keembay_wdt.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/watchdog/keembay_wdt.c b/drivers/watchdog/keembay_wdt.c
index 547d3fea33ff..f2f5c9fae29c 100644
--- a/drivers/watchdog/keembay_wdt.c
+++ b/drivers/watchdog/keembay_wdt.c
@@ -29,6 +29,7 @@
 #define WDT_LOAD_MAX		U32_MAX
 #define WDT_LOAD_MIN		1
 #define WDT_TIMEOUT		5
+#define WDT_PRETIMEOUT		4
 
 static unsigned int timeout = WDT_TIMEOUT;
 module_param(timeout, int, 0);
@@ -224,11 +225,13 @@ static int keembay_wdt_probe(struct platform_device *pdev)
 	wdt->wdd.min_timeout	= WDT_LOAD_MIN;
 	wdt->wdd.max_timeout	= WDT_LOAD_MAX / wdt->rate;
 	wdt->wdd.timeout	= WDT_TIMEOUT;
+	wdt->wdd.pretimeout	= WDT_PRETIMEOUT;
 
 	watchdog_set_drvdata(&wdt->wdd, wdt);
 	watchdog_set_nowayout(&wdt->wdd, nowayout);
 	watchdog_init_timeout(&wdt->wdd, timeout, dev);
 	keembay_wdt_set_timeout(&wdt->wdd, wdt->wdd.timeout);
+	keembay_wdt_set_pretimeout(&wdt->wdd, wdt->wdd.pretimeout);
 
 	ret = devm_watchdog_register_device(dev, &wdt->wdd);
 	if (ret)
-- 
2.17.1


  reply	other threads:[~2021-05-12  8:47 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-12  8:47 [PATCH 00/10] Intel Keem Bay WDT bug fixes shruthi.sanil
2021-05-12  8:47 ` shruthi.sanil [this message]
2021-05-12 13:58   ` [PATCH 01/10] watchdog: keembay: Update WDT pre-timeout during the initialization Guenter Roeck
2021-05-12  8:47 ` [PATCH 02/10] watchdog: keembay: Upadate WDT pretimeout for every update in timeout shruthi.sanil
2021-05-12 13:58   ` Guenter Roeck
2021-05-12  8:47 ` [PATCH 03/10] watchdog: keembay: Update pretimeout to zero in the TH ISR shruthi.sanil
2021-05-12 13:58   ` Guenter Roeck
2021-05-12  8:47 ` [PATCH 04/10] watchdog: keembay: Clear either the TO or TH interrupt bit shruthi.sanil
2021-05-12 13:59   ` Guenter Roeck
2021-05-12  8:47 ` [PATCH 05/10] watchdog: keembay: Remove timeout update in the WDT start function shruthi.sanil
2021-05-12 13:59   ` Guenter Roeck
2021-05-12  8:47 ` [PATCH 06/10] watchdog: keembay: Removed timeout update in the TO ISR shruthi.sanil
2021-05-12 14:00   ` Guenter Roeck
2021-05-12  8:47 ` [PATCH 07/10] watchdog: keembay: Update the check in keembay_wdt_resume() shruthi.sanil
2021-05-12 14:02   ` Guenter Roeck
2021-05-13  5:32     ` Sanil, Shruthi
2021-05-12  8:47 ` [PATCH 08/10] watchdog: keembay: MACRO for WDT enable and disable values shruthi.sanil
2021-05-12 14:04   ` Guenter Roeck
2021-05-12  8:47 ` [PATCH 09/10] watchdog: keembay: WDT SMC handler MACRO name update shruthi.sanil
2021-05-12 14:04   ` Guenter Roeck
2021-05-12  8:47 ` [PATCH 10/10] watchdog: keembay: Typo corrections and other blank operations shruthi.sanil
2021-05-12 14:05   ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210512084724.14634-2-shruthi.sanil@intel.com \
    --to=shruthi.sanil@intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=kris.pan@linux.intel.com \
    --cc=lakshmi.bai.raja.subramanian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=mallikarjunappa.sangannavar@intel.com \
    --cc=mgross@linux.intel.com \
    --cc=srikanth.thokala@intel.com \
    --cc=wim@linux-watchdog.org \
    --subject='Re: [PATCH 01/10] watchdog: keembay: Update WDT pre-timeout during the initialization' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).