All of lore.kernel.org
 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 v2 1/9] watchdog: keembay: Update WDT pre-timeout during the initialization
Date: Mon, 17 May 2021 23:19:45 +0530	[thread overview]
Message-ID: <20210517174953.19404-2-shruthi.sanil@intel.com> (raw)
In-Reply-To: <20210517174953.19404-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: Guenter Roeck <linux@roeck-us.net>
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-17 17:50 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-17 17:49 [PATCH v2 0/9] Intel Keem Bay WDT bug fixes shruthi.sanil
2021-05-17 17:49 ` shruthi.sanil [this message]
2021-05-17 17:49 ` [PATCH v2 2/9] watchdog: keembay: Upadate WDT pretimeout for every update in timeout shruthi.sanil
2021-05-17 17:49 ` [PATCH v2 3/9] watchdog: keembay: Update pretimeout to zero in the TH ISR shruthi.sanil
2021-05-17 17:49 ` [PATCH v2 4/9] watchdog: keembay: Clear either the TO or TH interrupt bit shruthi.sanil
2021-05-17 17:49 ` [PATCH v2 5/9] watchdog: keembay: Remove timeout update in the WDT start function shruthi.sanil
2021-05-17 17:49 ` [PATCH v2 6/9] watchdog: keembay: Removed timeout update in the TO ISR shruthi.sanil
2021-05-17 17:49 ` [PATCH v2 7/9] watchdog: keembay: MACRO for WDT enable and disable values shruthi.sanil
2021-05-17 17:49 ` [PATCH v2 8/9] watchdog: keembay: WDT SMC handler MACRO name update shruthi.sanil
2021-05-17 17:49 ` [PATCH v2 9/9] watchdog: keembay: Typo corrections and other blank operations shruthi.sanil
2021-05-24  6:06 ` [PATCH v2 0/9] Intel Keem Bay WDT bug fixes Sanil, Shruthi
2021-05-24 10:36   ` andriy.shevchenko
2021-05-24 13:42     ` 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=20210517174953.19404-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 \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.