[U-Boot] [PATCH] watchdog/imx_watchdog: do not set WCR_WDW

Sebastian Andrzej Siewior bigeasy at linutronix.de
Wed Mar 25 13:15:24 CET 2015


* Stefano Babic | 2015-03-25 09:03:06 [+0100]:

>Hi Sebastian,
Hi Stefano,

>(sorry for late answer)
no worries.

>On 03/03/2015 17:45, Sebastian Andrzej Siewior wrote:
>> with WCR_WDW set, the watchdog won't trigger if we bootet linux and idle
>> around while the watchdog is not triggered. It seems the timer makes
>> progress very slowly if at all. I managed to remain 20minutes alive
>> while the timeout was set to 60secs. It reboots within 60secs if I start
>> a busyloop in userland (something like "while (1) { }").
>
>Just some questions. The described behavior is coherent with the
>description in the manual. When WDW is set, the watchdog is stopped
>while the processor is in wait mode.

I fail to notice how it could make any sense.

>Current imx2_wdt.c driver in kernel does not care about this bit, but it
>looks like that only the kernel and/or the application can decide if the
>watchdog should run when the system is in WAIT or not. The bootloader
>cannot decide, and it should set the bit for its own usage.
>
>Should this setup be done by the kernel driver instead of by the
>bootloader ?

It is a one-time-bit. Once it is set (or not) it can not be changed
later. It makes no difference for the bootloader. And the kernel may
remain idle for longer than one jiffy with NO_HZ but it will still wake
up within a second if I remember correctly. Eitherway the user will
usually trigger the WD in timeout/2 so atleast that timer will wake up
the kernel from idle.
Having the WDT not account the idle time makes it hard for the user to
figure out how much time has been accounted by the WDT so far.

>> 
>> While I don't see a reason why the WDT should not be running while the
>> CPU is in idle, I'm dropping this bit.
>
>I can agree or disagree. This depends on the application.
>
>Differently as the WDZST, that can be set only once, and it is set by
>*both* U-Boot and kernel (setting in kernel has then no influence), the
>WDW can be even disabled in kernel.

I patched the kernel as well. Once I get through here I would also push
patches there. The thing I don't like is that the kernel pings the WDT
on its own. While it may make sense for some people I would like to
atleast configure it :)

Sebastian


More information about the U-Boot mailing list