LKML Archive mirror
 help / color / mirror / Atom feed
From: Fu Wei <fu.wei@linaro.org>
To: Guenter Roeck <linux@roeck-us.net>
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: Sun, 7 Feb 2016 10:12:12 +0800	[thread overview]
Message-ID: <CADyBb7vTeamcE68FJ6G8X-VKww-AAbfptvB9jcKLg9oRTzVcLg@mail.gmail.com> (raw)
In-Reply-To: <56B6422C.7070302@roeck-us.net>

On 7 February 2016 at 02:57, Guenter Roeck <linux@roeck-us.net> wrote:
> 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.

yes,  Thanks for pointing it out.
I will fix that following your suggestion.

>
> Thanks,
> Guenter
>



-- 
Best regards,

Fu Wei
Software Engineer
Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch
Ph: +86 21 61221326(direct)
Ph: +86 186 2020 4684 (mobile)
Room 1512, Regus One Corporate Avenue,Level 15,
One Corporate Avenue,222 Hubin Road,Huangpu District,
Shanghai,China 200021

  reply	other threads:[~2016-02-07  2:12 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
2016-02-07  2:12                                     ` Fu Wei [this message]
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=CADyBb7vTeamcE68FJ6G8X-VKww-AAbfptvB9jcKLg9oRTzVcLg@mail.gmail.com \
    --to=fu.wei@linaro.org \
    --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=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=linux@roeck-us.net \
    --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).