LKML Archive mirror
 help / color / mirror / Atom feed
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

  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).