[PATCH v5 0/4] watchdog: at91sam9_wdt: handle already configured wdt
boris brezillon
b.brezillon at overkiz.com
Tue Oct 29 06:31:37 EDT 2013
Hi Wim,
I'm sorry for the inconvenience, but I found some bugs in my patch series:
1) the secs_to_ticks returns an erronous value when 0 is passed as an
argument
2) the calculated heartbeat is too small for some use cases
(i.e. kexecing a new kernel might trigger a watchdog reset before
the new kernel
is able to load the watchdog driver)
3) when initializing the watchdog driver, the timer should be configured
with the min_heartbeat value
instead of the standard heartbeat value, because we don't for how
long the timer has been running.
I'll send a new patch fixing those issues.
I hope it won't bother you :-(.
Best Regards,
Boris
On 29/10/2013 08:50, Wim Van Sebroeck wrote:
> Hi Boris,
>
>> Hello,
>>
>> This patch series is a porposal to enhance the sam9 watchdog timer support.
>>
>> The at91sam9 watchdog timer can only be configured once, and the current
>> implementation tries to configure it in a static way:
>> - 2 seconds timeout
>> - wdt restart every 500ms
>>
>> If the timer has already been configured with different values, it returns an
>> error and do not create any watchdog device.
>>
>> This is not critical if the watchdog is disabled, but if it has been enabled
>> with different timeout values it will lead to a SoC reset.
>>
>> This patch series tries to address this issue by adapting the heartbeat value
>> according the WDT timer config:
>> - it first tries to configure the timer as requested.
>> - if it fails it fallbacks to the current config, adapting its heartbeat timer
>> to the needs
>>
>> This patch series also move to a dynamically allocated at91wdt device instead
>> of the static instance. I'm not sure this is the best solution, so please tell
>> me if you prefer to keep static instance of watchdog.
>>
>> It adds a new at91 wdt type: software. This new type make use of the at91 wdt
>> interrupt to trigger a software reboot.
>>
>> Finally it adds several properties to the device tree bindings.
>>
>> Best Regards,
>> Boris
>>
>> Changes since v4:
>> - fix coding style issues
>> - remove unneeded watchdog_active test
>>
>> Changes since v3:
>> - fix a bug in heartbeat time computation
>> - fix a bug in at91_wdt_set_timeout when new timeout is bigger than the old
>> one
>> - rename at91_wdt_ping into at91_wdt_start
>> - remove unneeded ping callback assignment
>>
>> Changes since v2:
>> - fix documentation
>> - rework the heartbeat computation to get a more flexible behaviour
>> - fix xx_to_yy macros
>> - modify warning and error messages
>> - remove unneeded parenthesis in arithmetic operations
>> - use devm functions to map io memory
>> - remove unneeded devm_kfree calls
>>
>> Change since v1:
>> - fix typo in documentaion
>> - fix irq dt definition for sama5d3 SoC
>>
>>
>> Boris BREZILLON (4):
>> watchdog: at91sam9_wdt: better watchdog support
>> watchdog: at91sam9_wdt: update device tree doc
>> ARM: at91/dt: add sam9 watchdog default options to SoCs
>> ARM: at91/dt: add watchdog properties to kizbox board
>>
>> .../devicetree/bindings/watchdog/atmel-wdt.txt | 30 +-
>> arch/arm/boot/dts/at91sam9260.dtsi | 5 +
>> arch/arm/boot/dts/at91sam9263.dtsi | 5 +
>> arch/arm/boot/dts/at91sam9g45.dtsi | 5 +
>> arch/arm/boot/dts/at91sam9n12.dtsi | 5 +
>> arch/arm/boot/dts/at91sam9x5.dtsi | 5 +
>> arch/arm/boot/dts/kizbox.dts | 6 +
>> arch/arm/boot/dts/sama5d3.dtsi | 5 +
>> drivers/watchdog/at91sam9_wdt.c | 309 ++++++++++++++------
>> 9 files changed, 287 insertions(+), 88 deletions(-)
> These 4 patches have been added to linux-watchdog-next.
>
> Kind regards,
> Wim.
>
More information about the linux-arm-kernel
mailing list