From: Guenter Roeck <linux@roeck-us.net>
To: Fu Wei <fu.wei@linaro.org>
Cc: "Timur Tabi" <timur@codeaurora.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Paweł Moll" <pawel.moll@arm.com>,
"Mark Rutland" <mark.rutland@arm.com>,
"Ian Campbell" <ijc+devicetree@hellion.org.uk>,
"Kumar Gala" <galak@codeaurora.org>,
"Wim Van Sebroeck" <wim@iguana.be>, "Jon Corbet" <corbet@lwn.net>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Will Deacon" <will.deacon@arm.com>,
"Suravee Suthikulpanit" <Suravee.Suthikulpanit@amd.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-watchdog@vger.kernel.org, linux-doc@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
"Linaro ACPI Mailman List" <linaro-acpi@lists.linaro.org>,
rruigrok@codeaurora.org, "Abdulhamid,
Harb" <harba@codeaurora.org>,
"Christopher Covington" <cov@codeaurora.org>,
"Dave Young" <dyoung@redhat.com>,
"Pratyush Anand" <panand@redhat.com>,
"G Gregory" <graeme.gregory@linaro.org>,
"Al Stone" <al.stone@linaro.org>,
"Hanjun Guo" <hanjun.guo@linaro.org>,
"Jon Masters" <jcm@redhat.com>, "Arnd Bergmann" <arnd@arndb.de>,
"Leo Duran" <leo.duran@amd.com>,
"Sudeep Holla" <sudeep.holla@arm.com>
Subject: Re: [PATCH v10 5/5] Watchdog: ARM SBSA Generic Watchdog half timeout panic support
Date: Sat, 6 Feb 2016 10:57:48 -0800 [thread overview]
Message-ID: <56B6422C.7070302@roeck-us.net> (raw)
In-Reply-To: <CADyBb7vRKjDoeOfH=3Uwz+D0xyXaC9cM4ZSEO+MwL8Gw5T-Umg@mail.gmail.com>
On 02/06/2016 10:02 AM, Fu Wei wrote:
> Hi Guenter,
>
> On 6 February 2016 at 07:54, Guenter Roeck <linux@roeck-us.net> wrote:
>> On 02/05/2016 10:21 AM, Fu Wei wrote:
>>>
>>> On 5 February 2016 at 22:42, Guenter Roeck <linux@roeck-us.net> wrote:
>>>>
>>>> On 02/05/2016 01:51 AM, Fu Wei wrote:
>>>>>
>>>>>
>>>>> Hi Guenter,
>>>>>
>>>>> On 4 February 2016 at 13:17, Guenter Roeck <linux@roeck-us.net> wrote:
>>>>>>
>>>>>>
>>>>>> On 02/03/2016 03:00 PM, Fu Wei wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 4 February 2016 at 02:45, Timur Tabi <timur@codeaurora.org> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Fu Wei wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> As you know I have made the pre-timeout support patch, If people
>>>>>>>>> like
>>>>>>>>> it, i am happy to go on upstream it separately.
>>>>>>>>>
>>>>>>>>> If we want to use pre-timeout here, user only can use get_pretimeout
>>>>>>>>> and disable panic by setting pretimeout to 0
>>>>>>>>> but user can not really set pretimeout, because "pre-timeout ==
>>>>>>>>> timeout / 2 (always)".
>>>>>>>>> if user want to change pretimeout, he/she has to set_time instead.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Ok, I think patches 4 and 5 should be combined, and I think the
>>>>>>>> Kconfig
>>>>>>>> entry should be removed and just use panic_enabled.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Agreed.
>>>>>
>>>>>
>>>>>
>>>>> np, will do
>>>>>
>>>>>>>
>>>>>>>
>>>>>>> NP, will update this patchset like that , thanks :-)
>>>>>>>
>>>>>>
>>>>>> Also, if panic is enabled, the timeout needs to be adjusted accordingly
>>>>>> (to only panic after the entire timeout period has expired, not after
>>>>>> half of it). We can not panic the system after timeout / 2.
>>>>>
>>>>>
>>>>>
>>>>> OK, my thought is
>>>>>
>>>>> if panic is enabled :
>>>>> |--------WOR-------WS0--------WOR-------WS1
>>>>> |------timeout------(panic)------timeout-----reset
>>>>>
>>>>> if panic is disabled .
>>>>> |--------WOR-------WS0--------WOR-------WS1
>>>>> |---------------------timeout---------------------reset
>>>>>
>>>>> panic_enabled only can be configured when module is loaded by module
>>>>> parameter
>>>>>
>>>>> But user should know that max_timeout(panic_enable) =
>>>>> max_timeout(panic_disable) / 2
>>>>>
>>>>
>>>> That means you'll have to update max_timeout accordingly.
>>>
>>>
>>> panic_enabled only can be configured when module is loaded, so we
>>> don't need to update it.
>>>
>>> max_timeout will only be set up in the init stage.
>>>
>>> Does it make sense ? :-)
>>>
>> Not sure I understand your problem or question.
>>
>> max_timeout will have to reflect the correct maximum timeout, under
>> all circumstances. It will have to be set to the correct value before
>> the watchdog driver is registered.
>
> yes, understood, my thought is :
>
> in static int sbsa_gwdt_probe(struct platform_device *pdev)
>
> if (action) {
> wdd->min_timeout = 1;
> wdd->max_timeout = U32_MAX / gwdt->clk;
> } else {
> wdd->min_timeout = 2;
> wdd->max_timeout = U32_MAX / gwdt->clk * 2;
Pretty much, though you would also have to adjust all calculations
using gwdt->clk, in both set_timeout() and get_timeout(). Wonder if
you could adjust gwdt->clk instead.
Does min_timeout really have to be 2 if panic is disabled ?
The only reason seems to be the calculation in sbsa_gwdt_set_timeout().
writel(timeout / 2 * gwdt->clk, gwdt->control_base + SBSA_GWDT_WOR);
Maybe you could use something like
writel(timeout * (gwdt->clk / 2), ...);
instead. Or, as mentioned above, adjust the value of gwdt->clk
to include the factor.
Thanks,
Guenter
next prev parent reply other threads:[~2016-02-06 18:57 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-03 17:18 [PATCH v10 0/5] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2016-02-03 17:18 ` [PATCH v10 1/5] Documentation: add sbsa-gwdt driver documentation fu.wei
2016-02-03 17:18 ` [PATCH v10 2/5] ARM64: add SBSA Generic Watchdog device node in foundation-v8.dts fu.wei
2016-02-03 17:18 ` [PATCH v10 3/5] ARM64: add SBSA Generic Watchdog device node in amd-seattle-soc.dtsi fu.wei
2016-02-03 17:18 ` [PATCH v10 4/5] Watchdog: introduce ARM SBSA watchdog driver fu.wei
2016-02-03 17:48 ` Timur Tabi
2016-02-03 17:57 ` Fu Wei
2016-02-03 17:58 ` Timur Tabi
2016-02-03 18:09 ` Fu Wei
2016-02-03 18:12 ` Timur Tabi
2016-02-04 16:25 ` Mathieu Poirier
2016-02-05 9:01 ` Fu Wei
2016-02-04 16:31 ` Will Deacon
2016-02-04 16:37 ` Timur Tabi
2016-02-04 16:46 ` Guenter Roeck
2016-02-05 8:52 ` Fu Wei
2016-02-03 17:18 ` [PATCH v10 5/5] Watchdog: ARM SBSA Generic Watchdog half timeout panic support fu.wei
2016-02-03 17:27 ` Timur Tabi
2016-02-03 17:49 ` Fu Wei
2016-02-03 17:53 ` Timur Tabi
2016-02-03 18:06 ` Fu Wei
2016-02-03 18:08 ` Timur Tabi
2016-02-03 18:18 ` Fu Wei
2016-02-03 18:26 ` Timur Tabi
2016-02-03 18:37 ` Fu Wei
2016-02-03 18:45 ` Timur Tabi
2016-02-03 23:00 ` Fu Wei
2016-02-04 5:17 ` Guenter Roeck
2016-02-04 13:48 ` Timur Tabi
2016-02-04 14:41 ` Guenter Roeck
2016-02-05 9:51 ` Fu Wei
2016-02-05 13:02 ` Thomas Petazzoni
2016-02-05 13:08 ` Timur Tabi
2016-02-05 13:33 ` Thomas Petazzoni
2016-02-05 14:42 ` Guenter Roeck
2016-02-05 18:21 ` Fu Wei
2016-02-05 23:54 ` Guenter Roeck
2016-02-06 18:02 ` Fu Wei
2016-02-06 18:55 ` Timur Tabi
2016-02-07 2:02 ` Fu Wei
2016-02-06 18:57 ` Guenter Roeck [this message]
2016-02-07 2:12 ` Fu Wei
2016-02-04 16:32 ` Mathieu Poirier
2016-02-04 16:41 ` Guenter Roeck
2016-02-04 16:43 ` Timur Tabi
2016-02-05 9:20 ` Fu Wei
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=56B6422C.7070302@roeck-us.net \
--to=linux@roeck-us.net \
--cc=Suravee.Suthikulpanit@amd.com \
--cc=al.stone@linaro.org \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=cov@codeaurora.org \
--cc=devicetree@vger.kernel.org \
--cc=dyoung@redhat.com \
--cc=fu.wei@linaro.org \
--cc=galak@codeaurora.org \
--cc=graeme.gregory@linaro.org \
--cc=hanjun.guo@linaro.org \
--cc=harba@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=jcm@redhat.com \
--cc=leo.duran@amd.com \
--cc=linaro-acpi@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=panand@redhat.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=rruigrok@codeaurora.org \
--cc=sudeep.holla@arm.com \
--cc=timur@codeaurora.org \
--cc=will.deacon@arm.com \
--cc=wim@iguana.be \
/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 read-only IMAP folder(s) and NNTP newsgroup(s).