From: Guenter Roeck <linux@roeck-us.net>
To: Chris Brandt <Chris.Brandt@renesas.com>
Cc: Wim Van Sebroeck <wim@linux-watchdog.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
"linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-renesas-soc@vger.kernel.org"
<linux-renesas-soc@vger.kernel.org>,
Simon Horman <horms+renesas@verge.net.au>
Subject: Re: [PATCH v3 1/2] watchdog: rza_wdt: Support longer timeouts
Date: Mon, 10 Sep 2018 10:59:34 -0700 [thread overview]
Message-ID: <20180910175934.GA16216@roeck-us.net> (raw)
In-Reply-To: <TY1PR01MB1562909374EEAA97DFAC173C8A050@TY1PR01MB1562.jpnprd01.prod.outlook.com>
On Mon, Sep 10, 2018 at 05:36:39PM +0000, Chris Brandt wrote:
> On Monday, September 10, 2018 1, Guenter Roeck wrote:
> > > #2. If the CKS is only 4-bits, the max HW timeout is 32 seconds. (so
> > > 'timeout' can never be more that a u8).
> > >
> > That is not the point. The point is that there is no need to keep two
> > 'timeout' variables.
>
> But there was a reason.
>
> The reason was that the upper layer would call the .ping() function
> without calling .start() again.
>
> Meaning it would change 'timeout' in the structure, but not explicitly
> tell the driver.
>
It does that because there is no set_timeout function.
> That why I had to keep track of my own timeout (what the HW was actually
> set to).
>
> Every time the upper layer calls .ping(), I have to see if the timeout
> field still matches.
>
>
> > > The number "4194304" is exactly how it is documented in the hardware
> > > manual, that is why I'm using it that way. Yes, 0x400000 makes more
> > > sense, but I like matching the device documenting as much as possible to
> > > help the next person that comes along and has to debug this code.
> > >
> > Use at least a define.
>
> OK.
>
>
> > > Because when I was doing all my testing, I found cases where '.ping' was
> > > called from the upper layer without '.start' being called first. So, I
> > > changed the code as you see it now. This guaranteed I would also get the
> > > timeout the user was requesting.
> > >
> > That would only happen if the watchdog is considered to be running.
> > Also, we are talking about the set_timeout function which is the one which
> > should set the timeout and update the HW if needed, ie if the watchdog is
> > already running.
>
> This driver doesn't have .set_timeout
>
> static const struct watchdog_ops rza_wdt_ops = {
> .owner = THIS_MODULE,
> .start = rza_wdt_start,
> .stop = rza_wdt_stop,
> .ping = rza_wdt_ping,
> .restart = rza_wdt_restart,
> };
>
It wasn't needed before, but that doesn't mean it is not needed now.
>
> If you really don't like checking in .ping, I can add a set_timeout
> function and remove the local priv->timeout.
>
No, I do not like checking and setting the timeout in the ping function
at all. That is what the set_timeout function is for, and I don't see
a point in bypassing the infrastructure.
Guenter
next prev parent reply other threads:[~2018-09-10 22:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-07 1:22 [PATCH v3 0/2] Add support for RZ/A2 wdt Chris Brandt
2018-09-07 1:22 ` [PATCH v3 1/2] watchdog: rza_wdt: Support longer timeouts Chris Brandt
2018-09-08 16:10 ` Guenter Roeck
2018-09-10 13:53 ` Chris Brandt
2018-09-10 16:13 ` Guenter Roeck
2018-09-10 17:36 ` Chris Brandt
2018-09-10 17:59 ` Guenter Roeck [this message]
2018-09-10 18:15 ` Chris Brandt
2018-09-07 1:22 ` [PATCH v3 2/2] dt-bindings: watchdog: renesas-wdt: Add support for R7S9210 Chris Brandt
2018-09-10 20:49 ` Rob Herring
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=20180910175934.GA16216@roeck-us.net \
--to=linux@roeck-us.net \
--cc=Chris.Brandt@renesas.com \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=horms+renesas@verge.net.au \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox