Messages in this thread | | | Date | Thu, 27 Aug 2009 08:08:41 -0400 | From | Josh Boyer <> | Subject | Re: [PATCH] fix book E watchdog to take WDIOC_SETTIMEOUT arg in seconds |
| |
On Thu, Aug 27, 2009 at 01:14:58PM +0200, Wim Van Sebroeck wrote: >Hi Chris, > >> The WDIOC_SETTIMEOUT argument is supposed to be a "seconds" value. >> However, the book E wdt currently treats it as a "period" which is >> interpreted in a board-specific way. >> >> This patch allows the user to pass in a "seconds" value and the driver >> will set the smallest timeout that is at least as large as specified >> by the user. It's been tested on e500 hardware and works as >> expected. >> >> The patch only modifies the CONFIG_FSL_BOOKE case, the CONFIG_4xx case >> is left unmodified as I don't have any hardware to test it on. >> >> Signed-off-by: Chris Friesen <cfriesen@nortel.com> > >Added with some small changes to keep checkpatch happy. (removed trailing spaces + changed sizeof(struct watchdog_info) to sizeof(ident) and changed some spaces in tabs). > >Now we only need someone that can look at the CONFIG_4xx cases still :-)
It seems the FSL watchdog is much more flexible than the one found in 4xx cores. On 4xx, you basically have 4 static choices that represent specific times determined by the clock frequency. I'm concerned that the lack of granularity here will result in less than desirable behavior.
For example, with a 400MHz clock you would get choices of roughly:
5.2 ms 83.9 ms 1.34 s 21.47 s
Personally, I consider the first two options basically unusable. Considering the second two, if a user were to say "Set the timeout for 2 seconds" they would then get a timeout of 21 seconds with the framework Chris' patch has set up. That doesn't really seem to be ideal to me.
josh
| |