linux-watchdog.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Cercueil <paul@crapouillou.net>
To: Thomas Gleixner <tglx@linutronix.de>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	Paul Burton <paul.burton@mips.com>,
	Jonathan Corbet <corbet@lwn.net>
Cc: od@zcrc.me, Mathieu Malaterre <malat@debian.org>,
	linux-pwm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-watchdog@vger.kernel.org,
	linux-mips@linux-mips.org, linux-doc@vger.kernel.org,
	linux-clk@vger.kernel.org, Paul Cercueil <paul@crapouillou.net>
Subject: [PATCH v7 10/24] watchdog: jz4740: Avoid starting watchdog in set_timeout
Date: Tue, 21 Aug 2018 19:16:21 +0200	[thread overview]
Message-ID: <20180821171635.22740-11-paul@crapouillou.net> (raw)
In-Reply-To: <20180821171635.22740-1-paul@crapouillou.net>

Previously the jz4740_wdt_set_timeout() function was starting the timer
unconditionally, even if it was stopped when that function was entered.

Now, the timer will be restarted only if it was already running before
this function is called.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
---

Notes:
     v6: New patch
    
     v7: No change

 drivers/watchdog/jz4740_wdt.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/watchdog/jz4740_wdt.c b/drivers/watchdog/jz4740_wdt.c
index 0f54306aee25..45d9495170e5 100644
--- a/drivers/watchdog/jz4740_wdt.c
+++ b/drivers/watchdog/jz4740_wdt.c
@@ -64,13 +64,15 @@ static int jz4740_wdt_set_timeout(struct watchdog_device *wdt_dev,
 {
 	struct jz4740_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
 	u16 timeout_value = (u16)(drvdata->clk_rate * new_timeout);
+	u32 tcer;
 
+	regmap_read(drvdata->map, TCU_REG_WDT_TCER, &tcer);
 	regmap_write(drvdata->map, TCU_REG_WDT_TCER, 0);
 
 	regmap_write(drvdata->map, TCU_REG_WDT_TDR, timeout_value);
 	regmap_write(drvdata->map, TCU_REG_WDT_TCNT, 0);
 
-	regmap_write(drvdata->map, TCU_REG_WDT_TCER, TCU_WDT_TCER_TCEN);
+	regmap_write(drvdata->map, TCU_REG_WDT_TCER, tcer & TCU_WDT_TCER_TCEN);
 
 	wdt_dev->timeout = new_timeout;
 	return 0;
@@ -86,6 +88,7 @@ static int jz4740_wdt_start(struct watchdog_device *wdt_dev)
 		return ret;
 
 	jz4740_wdt_set_timeout(wdt_dev, wdt_dev->timeout);
+	regmap_write(drvdata->map, TCU_REG_WDT_TCER, TCU_WDT_TCER_TCEN);
 
 	return 0;
 }
-- 
2.11.0

  parent reply	other threads:[~2018-08-21 20:38 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-21 17:16 [PATCH v7 00/24] TCU patchset v7 Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 01/24] mfd: Add ingenic-tcu.h header Paul Cercueil
2018-09-10 14:58   ` Lee Jones
2018-08-21 17:16 ` [PATCH v7 02/24] dt-bindings: ingenic: Add DT bindings for TCU clocks Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 03/24] doc: Add doc for the Ingenic TCU hardware Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 04/24] dt-bindings: Add doc for the Ingenic TCU drivers Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 05/24] clocksource: Add a new timer-ingenic driver Paul Cercueil
2018-08-28 17:23   ` Paul Burton
2018-08-29  9:10     ` Daniel Lezcano
2018-08-29 17:43       ` Paul Burton
2018-09-24  3:12   ` Daniel Lezcano
2018-08-21 17:16 ` [PATCH v7 06/24] clocksource: Add driver for the Ingenic JZ47xx OST Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 07/24] MAINTAINERS: Add myself as maintainer for Ingenic TCU drivers Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 08/24] watchdog: jz4740: Use WDT clock provided by TCU driver Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 09/24] watchdog: jz4740: Use regmap " Paul Cercueil
2018-08-21 17:16 ` Paul Cercueil [this message]
2018-08-21 17:16 ` [PATCH v7 11/24] watchdog: jz4740: Drop dependency on MACH_JZ47xx, use COMPILE_TEST Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 12/24] pwm: jz4740: Use regmap and clocks from TCU driver Paul Cercueil
2018-08-28 17:30   ` Paul Burton
2018-10-12 10:39   ` Thierry Reding
2018-08-21 17:16 ` [PATCH v7 13/24] pwm: jz4740: Allow selection of PWM channels 0 and 1 Paul Cercueil
2018-10-12 10:40   ` Thierry Reding
2018-10-12 10:43     ` Thierry Reding
2018-08-21 17:16 ` [PATCH v7 14/24] pwm: jz4740: Drop dependency on MACH_INGENIC, use COMPILE_TEST Paul Cercueil
2018-10-12 10:41   ` Thierry Reding
2018-10-12 10:44     ` Thierry Reding
2018-08-21 17:16 ` [PATCH v7 15/24] pwm: jz4740: Remove unused devicetree compatible strings Paul Cercueil
2018-10-12 10:42   ` Thierry Reding
2018-08-21 17:16 ` [PATCH v7 16/24] pwm: jz4740: Add support for the JZ4725B Paul Cercueil
2018-10-12 10:43   ` Thierry Reding
2018-08-21 17:16 ` [PATCH v7 17/24] clk: jz4740: Add TCU clock Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 18/24] MIPS: Kconfig: Select TCU timer driver when MACH_INGENIC is set Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 19/24] MIPS: jz4740: Add DTS nodes for the TCU drivers Paul Cercueil
2018-08-21 17:16 ` [PATCH v7 20/24] MIPS: qi_lb60: Move PWM devices to devicetree Paul Cercueil
2018-08-21 17:18 ` [PATCH v7 21/24] MIPS: qi_lb60: Reduce system timer and clocksource to 750 kHz Paul Cercueil
2018-08-21 17:18 ` [PATCH v7 22/24] MIPS: CI20: Reduce system timer and clocksource to 3 MHz Paul Cercueil
2018-08-21 17:20 ` [PATCH v7 23/24] MIPS: CI20: defconfig: enable OST driver Paul Cercueil
2018-08-21 17:21 ` [PATCH v7 24/24] MIPS: jz4740: Drop obsolete code Paul Cercueil

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=20180821171635.22740-11-paul@crapouillou.net \
    --to=paul@crapouillou.net \
    --cc=corbet@lwn.net \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=malat@debian.org \
    --cc=mark.rutland@arm.com \
    --cc=od@zcrc.me \
    --cc=paul.burton@mips.com \
    --cc=ralf@linux-mips.org \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    /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 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).