From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751322AbbEXREi (ORCPT ); Sun, 24 May 2015 13:04:38 -0400 Received: from mail-oi0-f46.google.com ([209.85.218.46]:35330 "EHLO mail-oi0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751132AbbEXREg (ORCPT ); Sun, 24 May 2015 13:04:36 -0400 MIME-Version: 1.0 In-Reply-To: <5562031D.3040808@roeck-us.net> References: <=fu.wei@linaro.org> <1432197156-16947-1-git-send-email-fu.wei@linaro.org> <1432197156-16947-7-git-send-email-fu.wei@linaro.org> <555DFCD4.3040701@codeaurora.org> <5560D7AC.50009@codeaurora.org> <5560DCB6.3090008@roeck-us.net> <5561DD0B.1040008@roeck-us.net> <5561FAFF.1050602@roeck-us.net> <5562031D.3040808@roeck-us.net> Date: Mon, 25 May 2015 01:04:35 +0800 Message-ID: Subject: Re: [PATCH v2 6/7] Watchdog: introduce ARM SBSA watchdog driver From: Fu Wei To: Guenter Roeck Cc: Timur Tabi , Suravee Suthikulpanit , Linaro ACPI Mailman List , linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Wei Fu , G Gregory , Al Stone , Hanjun Guo , Ashwin Chaugule , Arnd Bergmann , vgandhi@codeaurora.org, wim@iguana.be, Jon Masters , Leo Duran , Jon Corbet , Mark Rutland Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Guenter, On 25 May 2015 at 00:58, Guenter Roeck wrote: > On 05/24/2015 09:47 AM, Fu Wei wrote: >> >> Hi Guenter, >> >> On 25 May 2015 at 00:23, Guenter Roeck wrote: >>> >>> On 05/24/2015 08:50 AM, Fu Wei wrote: >>> [ ...] >>> >>>> Actually, I have added my thought at the head of sbsa_gwdt.c as a >>>> comment >>>> : >>>> >>>> * >>>> * Note: This SBSA Generic watchdog driver is compatible with >>>> * the pretimeout concept of Linux kernel. >>>> * The timeout and pretimeout are set by the different REGs. >>>> * The first watch period is set by writing WCV directly, >>>> * that can support more than 10s timeout at the maximum >>>> * system counter frequency. >>>> * The second watch period is set by WOR(32bit) which will be >>>> loaded >>>> * automatically by hardware, when WS0 is triggered. >>>> * This gives a maximum watch period of around 10s at the >>>> maximum >>>> * system counter frequency. >>>> * The System Counter shall run at maximum of 400MHz. >>>> * More details: DEN0029B - Server Base System Architecture >>>> (SBSA) >>>> * >>>> * Kernel/API: P---------| pretimeout >>>> * |-------------------------------T timeout >>>> * SBSA GWDT: P--WOR---WS1 pretimeout >>>> * |-------WCV----------WS0~~~~~~~~T timeout >>>> */ >>>> >>> >>> Yes, but do we actually _know_ that it works that way, ie that WCV >>> drives WS0 and that WOR drives WS1 ? Unless I am missing something, >>> the specification doesn't say that, and it would have been a really >>> easy statement to make if that was the intent. >> >> >> yes, Suravee has tested it on Seattle B0 Soc, that works. >> But hope Suravee can provide more info about test, I will ping him later. >> >> According to SBSA, that WCV and WOR can both drive WS1 and WS0 >> >> the timeout and pretimeout in my patchset have been tested on Seattle >> B0 and Foundation model. >> >>> >>> My concern here is that the above behavior is not spelled out in >>> the document, meaning it is up to interpretation by the hardware >>> engineer implementing it, to the point where it appears that not >>> even two software engineers can agree how it is supposed to work. >>> Which is a really bad starting point :-(. >> >> >> Is that a real hardware teat can prove it works? >> >> or actually, SBSA say that it should work: >> ----------------- >> Note: the watchdog offset register is 32 bits wide. This gives a >> maximum watch period of around 10s at a system >> counter frequency of 400MHz. If a larger watch period is required then >> the compare value can be programmed >> directly into the compare value register. >> ----------------- >> offset register == WOR >> compare value register == WCV >> > > Where does it say that WCV shall be associated with WS0 and that WOR > shall be associated with WS1 ? Guess I am missing that part. no, it doesn't say WCV shall be associated with WS0, that is my driver doing. but WCV can control both WS1/WS0. WOR is just a auto-reload value. I think maybe you can read SBSA 2.3 Page 23, The pseudocode can explain everything. :-) Great thanks for your time > > > Thanks, > Guenter > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fu Wei Subject: Re: [PATCH v2 6/7] Watchdog: introduce ARM SBSA watchdog driver Date: Mon, 25 May 2015 01:04:35 +0800 Message-ID: References: <=fu.wei@linaro.org> <1432197156-16947-1-git-send-email-fu.wei@linaro.org> <1432197156-16947-7-git-send-email-fu.wei@linaro.org> <555DFCD4.3040701@codeaurora.org> <5560D7AC.50009@codeaurora.org> <5560DCB6.3090008@roeck-us.net> <5561DD0B.1040008@roeck-us.net> <5561FAFF.1050602@roeck-us.net> <5562031D.3040808@roeck-us.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: <5562031D.3040808-0h96xk9xTtrk1uMJSBkQmQ@public.gmane.org> Sender: linux-watchdog-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Guenter Roeck Cc: Timur Tabi , Suravee Suthikulpanit , Linaro ACPI Mailman List , linux-watchdog-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Wei Fu , G Gregory , Al Stone , Hanjun Guo , Ashwin Chaugule , Arnd Bergmann , vgandhi-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, wim-IQzOog9fTRqzQB+pC5nmwQ@public.gmane.org, Jon Masters , Leo Duran , Jon Corbet , Mark Rutland List-Id: devicetree@vger.kernel.org Hi Guenter, On 25 May 2015 at 00:58, Guenter Roeck wrote: > On 05/24/2015 09:47 AM, Fu Wei wrote: >> >> Hi Guenter, >> >> On 25 May 2015 at 00:23, Guenter Roeck wrote: >>> >>> On 05/24/2015 08:50 AM, Fu Wei wrote: >>> [ ...] >>> >>>> Actually, I have added my thought at the head of sbsa_gwdt.c as a >>>> comment >>>> : >>>> >>>> * >>>> * Note: This SBSA Generic watchdog driver is compatible with >>>> * the pretimeout concept of Linux kernel. >>>> * The timeout and pretimeout are set by the different REGs. >>>> * The first watch period is set by writing WCV directly, >>>> * that can support more than 10s timeout at the maximum >>>> * system counter frequency. >>>> * The second watch period is set by WOR(32bit) which will be >>>> loaded >>>> * automatically by hardware, when WS0 is triggered. >>>> * This gives a maximum watch period of around 10s at the >>>> maximum >>>> * system counter frequency. >>>> * The System Counter shall run at maximum of 400MHz. >>>> * More details: DEN0029B - Server Base System Architecture >>>> (SBSA) >>>> * >>>> * Kernel/API: P---------| pretimeout >>>> * |-------------------------------T timeout >>>> * SBSA GWDT: P--WOR---WS1 pretimeout >>>> * |-------WCV----------WS0~~~~~~~~T timeout >>>> */ >>>> >>> >>> Yes, but do we actually _know_ that it works that way, ie that WCV >>> drives WS0 and that WOR drives WS1 ? Unless I am missing something, >>> the specification doesn't say that, and it would have been a really >>> easy statement to make if that was the intent. >> >> >> yes, Suravee has tested it on Seattle B0 Soc, that works. >> But hope Suravee can provide more info about test, I will ping him later. >> >> According to SBSA, that WCV and WOR can both drive WS1 and WS0 >> >> the timeout and pretimeout in my patchset have been tested on Seattle >> B0 and Foundation model. >> >>> >>> My concern here is that the above behavior is not spelled out in >>> the document, meaning it is up to interpretation by the hardware >>> engineer implementing it, to the point where it appears that not >>> even two software engineers can agree how it is supposed to work. >>> Which is a really bad starting point :-(. >> >> >> Is that a real hardware teat can prove it works? >> >> or actually, SBSA say that it should work: >> ----------------- >> Note: the watchdog offset register is 32 bits wide. This gives a >> maximum watch period of around 10s at a system >> counter frequency of 400MHz. If a larger watch period is required then >> the compare value can be programmed >> directly into the compare value register. >> ----------------- >> offset register == WOR >> compare value register == WCV >> > > Where does it say that WCV shall be associated with WS0 and that WOR > shall be associated with WS1 ? Guess I am missing that part. no, it doesn't say WCV shall be associated with WS0, that is my driver doing. but WCV can control both WS1/WS0. WOR is just a auto-reload value. I think maybe you can read SBSA 2.3 Page 23, The pseudocode can explain everything. :-) Great thanks for your time > > > Thanks, > Guenter > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- 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 -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html