Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752069AbbEFQCr (ORCPT ); Wed, 6 May 2015 12:02:47 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:51081 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751282AbbEFQCd (ORCPT ); Wed, 6 May 2015 12:02:33 -0400 Date: Wed, 6 May 2015 09:02:27 -0700 From: Guenter Roeck To: "Opensource [Steve Twiss]" Cc: LINUXKERNEL , LINUXWATCHDOG , Wim Van Sebroeck , Alessandro Zummo , DEVICETREE , David Dajun Chen , Dmitry Torokhov , Ian Campbell , Kumar Gala , LINUXINPUT , Lee Jones , Liam Girdwood , Mark Brown , Mark Rutland , Pawel Moll , RTCLINUX , Rob Herring , Samuel Ortiz , Support Opensource Subject: Re: [PATCH V1 5/6] watchdog: da9062: DA9062 watchdog driver Message-ID: <20150506160227.GA28101@roeck-us.net> References: <2afd9f55c71553186e99bfe386312f0c7d7501ed.1429280614.git.stwiss.opensource@diasemi.com> <55327DDA.4080003@roeck-us.net> <6ED8E3B22081A4459DAC7699F3695FB7014B21924A@SW-EX-MBX02.diasemi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6ED8E3B22081A4459DAC7699F3695FB7014B21924A@SW-EX-MBX02.diasemi.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Authenticated_sender: guenter@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-CTCH-PVer: 0000001 X-CTCH-Spam: Unknown X-CTCH-VOD: Unknown X-CTCH-Flags: 0 X-CTCH-RefID: str=0001.0A020201.554A3B18.021A,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 X-CTCH-Score: 0.000 X-CTCH-ScoreCust: 0.000 X-CTCH-Rules: X-CTCH-SenderID: linux@roeck-us.net X-CTCH-SenderID-Flags: 0 X-CTCH-SenderID-TotalMessages: 2 X-CTCH-SenderID-TotalSpam: 0 X-CTCH-SenderID-TotalSuspected: 0 X-CTCH-SenderID-TotalConfirmed: 0 X-CTCH-SenderID-TotalBulk: 0 X-CTCH-SenderID-TotalVirus: 0 X-CTCH-SenderID-TotalRecipients: 0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: mailgid no entry from get_relayhosts_entry X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2760 Lines: 62 On Wed, May 06, 2015 at 02:54:37PM +0000, Opensource [Steve Twiss] wrote: > On 18 April 2015 16:53 Guenter Roeck wrote: > > Hi Guenter, > > Thanks for your comments. > > > On 04/17/2015 07:23 AM, S Twiss wrote: > > > From: S Twiss > > > > > > Add watchdog driver support for DA9062 > > > > > > Signed-off-by: Steve Twiss > > > > > Hi Steve, > > > > Key question here is if the da9062 is really so much different to the da9062 > > that you can not use the same driver. > > The DA9062 watchdog driver does have some similarities with the DA9063 watchdog > base functionality -- however the watchdog component in the DA9062 chip has more > features yet to be added in software. I do intend to add these other features ... > however, if "not adding them here" is a problem I can drop the DA9062 watchdog > driver from this patch-set until I have time to write in the newer changes. > > > I am especially concerned about the added da9062_reset_watchdog_timer(), > > given the delay it introduces. > > After giving this some thought, I am going to remove this 300ms delay from the > reset_watchdog_timer() function for my next submission attempt. However > I am adding a 300ms delay into the stop() and update_timeout_register() functions > instead. > > The DA9062 watchdog ping (register CONTROL_F) is "windowed" for protection > against spurious writes -- i.e. the ping function cannot be called within a 250ms > time limit or the PMIC will reset. This windowing protection also extends to altering > the timeout scale in the CONTROL_D register -- in which case if the timeout > register is altered and the ping() function is called within the 250ms limit, the > PMIC will reset. The delay is there to stop that from happening. > > I realised my previous patch was over-sanitised: by putting the time delay into the > ping() function I was protecting CONTROL_D in stop() and update_timeout_register(), > but I was being too over-protective of the ping() function. Therefore if there was an > "incorrect trigger signal", the watchdog would not be allowed to fail because the > driver would have filtered out the errors. > Hi Steve, >From your description, it sounds like the protection is only necessary if there was a previous write to the same register(s). If so, it might make sense to record the time of such writes, and only add the delay if necessary, and only for the remainder of the time. Would this be possible ? Thanks, Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/